def test_parse_invalid_arg():
    # No coverage XML report specified
    invalid_argv = [[], ["--html-report", "diff_cover.html"]]

    for argv in invalid_argv:
        with pytest.raises(SystemExit):
            parse_coverage_args(argv)
Beispiel #2
0
    def test_parse_invalid_arg(self):

        # No coverage XML report specified
        invalid_argv = [[], ['--html-report', 'diff_cover.html']]

        for argv in invalid_argv:
            with self.assertRaises(SystemExit):
                with nostderr():
                    parse_coverage_args(argv)
def test_parse_with_exclude():
    argv = ["reports/coverage.xml"]
    arg_dict = parse_coverage_args(argv)
    assert arg_dict.get("exclude") is None

    argv = ["reports/coverage.xml", "--exclude", "noneed/*.py"]
    arg_dict = parse_coverage_args(argv)
    assert arg_dict.get("exclude") == ["noneed/*.py"]

    argv = [
        "reports/coverage.xml", "--exclude", "noneed/*.py", "other/**/*.py"
    ]
    arg_dict = parse_coverage_args(argv)
    assert arg_dict.get("exclude") == ["noneed/*.py", "other/**/*.py"]
def test_parse_range_notation(capsys):
    argv = ["build/tests/coverage.xml", "--diff-range-notation=.."]

    arg_dict = parse_coverage_args(argv)

    assert arg_dict["coverage_xml"] == ["build/tests/coverage.xml"]
    assert arg_dict["diff_range_notation"] == ".."

    with pytest.raises(SystemExit) as e:
        argv = ["build/tests/coverage.xml", "--diff-range-notation=FOO"]
        parse_coverage_args(argv)

    assert e.value.code == 2
    _, err = capsys.readouterr()
    assert "invalid choice: 'FOO'" in err
    def test_parse_range_notation(self, capsys):
        argv = ['build/tests/coverage.xml', '--diff-range-notation=..']

        arg_dict = parse_coverage_args(argv)

        assert arg_dict['coverage_xml'] == ['build/tests/coverage.xml']
        assert arg_dict['diff_range_notation'] == '..'

        with pytest.raises(SystemExit) as e:
            argv = ['build/tests/coverage.xml', '--diff-range-notation=FOO']
            parse_coverage_args(argv)

        assert e.value.code == 2
        _, err = capsys.readouterr()
        assert "invalid choice: 'FOO'" in err
Beispiel #6
0
    def test_parse_with_no_html_report(self):
        argv = ['reports/coverage.xml']

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get('coverage_xml'),
                         ['reports/coverage.xml'])
        self.assertFalse(arg_dict.get('ignore_unstaged'))
Beispiel #7
0
    def test_parse_with_no_html_report(self):
        argv = ["reports/coverage.xml"]

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get("coverage_xml"),
                         ["reports/coverage.xml"])
        self.assertFalse(arg_dict.get("ignore_unstaged"))
def test_parse_coverage_xml():
    argv = ["build/tests/coverage.xml", "--compare-branch=origin/other"]

    arg_dict = parse_coverage_args(argv)

    assert arg_dict["coverage_xml"] == ["build/tests/coverage.xml"]
    assert arg_dict["compare_branch"] == "origin/other"
    assert arg_dict["diff_range_notation"] == "..."
    def test_parse_coverage_xml(self):
        argv = ['build/tests/coverage.xml', '--compare-branch=origin/other']

        arg_dict = parse_coverage_args(argv)

        assert arg_dict['coverage_xml'] == ['build/tests/coverage.xml']
        assert arg_dict['compare_branch'] == 'origin/other'
        assert arg_dict['diff_range_notation'] == '...'
Beispiel #10
0
    def test_parse_with_exclude(self):
        argv = ['reports/coverage.xml']
        arg_dict = parse_coverage_args(argv)
        self.assertIsNone(arg_dict.get('exclude'))

        argv = ['reports/coverage.xml', '--exclude', 'noneed/*.py']

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get('exclude'), ['noneed/*.py'])

        argv = [
            'reports/coverage.xml', '--exclude', 'noneed/*.py', 'other/**/*.py'
        ]

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get('exclude'),
                         ['noneed/*.py', 'other/**/*.py'])
Beispiel #11
0
    def test_parse_with_exclude(self):
        argv = ["reports/coverage.xml"]
        arg_dict = parse_coverage_args(argv)
        self.assertIsNone(arg_dict.get("exclude"))

        argv = ["reports/coverage.xml", "--exclude", "noneed/*.py"]

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get("exclude"), ["noneed/*.py"])

        argv = [
            "reports/coverage.xml", "--exclude", "noneed/*.py", "other/**/*.py"
        ]

        arg_dict = parse_coverage_args(argv)
        self.assertEqual(arg_dict.get("exclude"),
                         ["noneed/*.py", "other/**/*.py"])
def test_parse_with_html_report():
    argv = ["reports/coverage.xml", "--html-report", "diff_cover.html"]
    arg_dict = parse_coverage_args(argv)

    assert arg_dict.get("coverage_xml") == ["reports/coverage.xml"]
    assert arg_dict.get("html_report") == "diff_cover.html"
    assert arg_dict.get("markdown_report") is None
    assert arg_dict.get("json_report") is None
    assert not arg_dict.get("ignore_unstaged")
Beispiel #13
0
    def test_parse_with_html_report(self):
        argv = ['reports/coverage.xml', '--html-report', 'diff_cover.html']

        arg_dict = parse_coverage_args(argv)

        self.assertEqual(arg_dict.get('coverage_xml'),
                         ['reports/coverage.xml'])

        self.assertEqual(arg_dict.get('html_report'), 'diff_cover.html')
        self.assertEqual(arg_dict.get('ignore_unstaged'), False)
def test_parse_with_multiple_reports():
    argv = [
        "reports/coverage.xml",
        "--html-report",
        "report.html",
        "--markdown-report",
        "report.md",
    ]
    arg_dict = parse_coverage_args(argv)

    assert arg_dict.get("coverage_xml") == ["reports/coverage.xml"]
    assert arg_dict.get("html_report") == "report.html"
    assert arg_dict.get("markdown_report") == "report.md"
    assert arg_dict.get("json_report") is None
    assert not arg_dict.get("ignore_unstaged")
Beispiel #15
0
def test_parse_with_no_html_report():
    argv = ["reports/coverage.xml"]

    arg_dict = parse_coverage_args(argv)
    assert arg_dict.get("coverage_xml") == ["reports/coverage.xml"]
    assert not arg_dict.get("ignore_unstaged")
def test_parse_with_ignored_unstaged():
    argv = ["reports/coverage.xml", "--ignore-unstaged"]
    arg_dict = parse_coverage_args(argv)

    assert arg_dict.get("ignore_unstaged")
Beispiel #17
0
    def test_parse_with_ignored_unstaged(self):
        argv = ['reports/coverage.xml', '--ignore-unstaged']

        arg_dict = parse_coverage_args(argv)
        self.assertTrue(arg_dict.get('ignore_unstaged'))