forked from mdekauwe/CABLE_benchmarking
-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
priority:lowLow priority Issues that do not need to be addressed in the near future.Low priority Issues that do not need to be addressed in the near future.testingAdd unit/integration testsAdd unit/integration tests
Description
A lot of the tests under TestRunCmd in test_subprocess.py are greedy: they test more than they say they are testing.
test_stdout_is_suppressed_in_non_verbose_modeis supposed to test stdout but it carriesassertclauses for stdout and stderr.test_stderr_is_suppressed_in_non_verbose_modeis also testing on stdout and stderr.test_command_and_stdout_is_printed_in_verbose_modeandtest_command_and_stderr_is_redirected_to_stdout_in_verbose_modeare identical tests with different inputs and outputs. Should we parametrize?test_output_is_captured_with_capture_output_enabledandtest_stderr_captured_to_stdoutare the same with different input and outputs. But should the first test only test on stdout and not stderr?test_command_is_printed_and_stdout_is_captured_in_verbose_mode: why test on stderr?test_stdout_is_redirected_to_file: why test anything else but the file content?test_command_is_printed_and_stdout_is_redirected_to_file_in_verbose_mode: why test on stderr?
We could also redesign the tests to be for a series of cases using parameterisation (I'm not sure all are necessary). Tests would be:
- test stdout only
- test stderr only
- test captured stdout (capture_output=True) only
- test captured stderr only
- test file printing only
And run all of these on this series of inputs:
- command only
- command + verbose
- command + capture_output
- command + capture_output + verbose
- command + output_file
- command + output_file + verbose
- same as all the above but with redirection of the command to stderr (
echo foo 1>&2)
I'm not sure if all these inputs are necessary or if we need more (do we need to test for capture_output + file printing?).
Also, rename captured in the tests as that is confusing with the capture_output option.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority:lowLow priority Issues that do not need to be addressed in the near future.Low priority Issues that do not need to be addressed in the near future.testingAdd unit/integration testsAdd unit/integration tests