does not print stderr or stdout in many failure cases (should print both when test fails in any way)
assumes non-empty stdout means that an error code is returned and that error is 1
expected_out and expected_err work differently, this is surprising. Like expected_out default is "", expected_err default is None -- None also means different things for the two arguments
A common unsupported use case is to check if stdout starts with string (this is now handled by setting expected_out=None and manual check afterwards). Maybe we should change the meaning of expected_out to mean "expected_starts_with"
TestCLI._run() has issues:
expected_out
default is "",expected_err
default is None -- None also means different things for the two argumentsexpected_out=None
and manual check afterwards). Maybe we should change the meaning of expected_out to mean "expected_starts_with"