def test_no_arguments_incorrect_system_exit(capsys): """No command-line arguments causes SystemExit crash of argparse with error output.""" with pytest.raises(SystemExit): _ = check_CountCommits.parse([]) captured = capsys.readouterr() # there is no standard output counted_newlines = captured.out.count("\n") assert counted_newlines == 0 # standard error has two lines from pytest assert "usage:" in captured.err counted_newlines = captured.err.count("\n") assert counted_newlines == 2
def test_optional_commandline_arguments_cannot_verify(commandline_arguments, capsys): """Check that incorrect optional command-line arguments check correctly.""" with pytest.raises(SystemExit): _ = check_CountCommits.parse(commandline_arguments) captured = capsys.readouterr() # there is no standard output counted_newlines = captured.out.count("\n") assert counted_newlines == 0 # standard error has two lines from pytest assert "usage:" in captured.err counted_newlines = captured.err.count("\n") assert counted_newlines == 2
def test_optional_commandline_arguments_can_parse_created_parser( commandline_arguments, not_raises): """Check that correct optional command-line arguments check correctly.""" with not_raises(SystemExit): parser = check_CountCommits.get_parser() _ = check_CountCommits.parse(commandline_arguments, parser)
def test_required_commandline_arguments_can_parse(commandline_arguments, not_raises): """Check that correct optional command-line arguments check correctly.""" with not_raises(SystemExit): _ = check_CountCommits.parse(commandline_arguments)