diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_html.py | 17 | ||||
-rw-r--r-- | tests/test_json.py | 81 |
2 files changed, 62 insertions, 36 deletions
diff --git a/tests/test_html.py b/tests/test_html.py index 6c4c706c..b543fa08 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -1127,3 +1127,20 @@ class HtmlWithContextsTest(HtmlTestHelpers, CoverageTest): self.start_import_stop(cov, "two_tests") with self.assert_warnings(cov, ["No contexts were measured"]): cov.html_report() + + def test_dynamic_contexts_relative_files(self): + self.make_file("two_tests.py", self.SOURCE) + self.make_file("config", "[run]\nrelative_files = True") + cov = coverage.Coverage(source=["."], config_file="config") + cov.set_option("run:dynamic_context", "test_function") + cov.set_option("html:show_contexts", True) + mod = self.start_import_stop(cov, "two_tests") + d = self.html_data_from_cov(cov, mod) + context_labels = [self.EMPTY, 'two_tests.test_one', 'two_tests.test_two'] + expected_lines = [self.OUTER_LINES, self.TEST_ONE_LINES, self.TEST_TWO_LINES] + for label, expected in zip(context_labels, expected_lines): + actual = [ + ld.number for ld in d.lines + if label == ld.contexts_label or label in (ld.contexts or ()) + ] + assert sorted(expected) == sorted(actual) diff --git a/tests/test_json.py b/tests/test_json.py index 1ae5764e..64de9292 100644 --- a/tests/test_json.py +++ b/tests/test_json.py @@ -103,42 +103,51 @@ class JsonReportTest(UsingModulesMixin, CoverageTest): self._assert_expected_json_report(cov, expected_result) def test_context(self): - cov = coverage.Coverage(context="cool_test") - cov.config.json_show_contexts = True - expected_result = { - 'meta': { - "version": coverage.__version__, - "branch_coverage": False, - "show_contexts": True, - }, - 'files': { - 'a.py': { - 'executed_lines': [1, 2], - 'missing_lines': [3], - 'excluded_lines': [], - "contexts": { - "1": [ - "cool_test" - ], - "2": [ - "cool_test" - ] - }, - 'summary': { - 'excluded_lines': 0, - 'missing_lines': 1, - 'covered_lines': 2, - 'num_statements': 3, - 'percent_covered': 66.66666666666667 + for relative_files in [False, True]: + config_file = os.path.join(self.temp_dir, "config") + with open(config_file, 'w') as handle: + handle.write( + "[run]\nrelative_files = {}".format(relative_files) + ) + cov = coverage.Coverage( + context="cool_test", + config_file=config_file + ) + cov.config.json_show_contexts = True + expected_result = { + 'meta': { + "version": coverage.__version__, + "branch_coverage": False, + "show_contexts": True, + }, + 'files': { + 'a.py': { + 'executed_lines': [1, 2], + 'missing_lines': [3], + 'excluded_lines': [], + "contexts": { + "1": [ + "cool_test" + ], + "2": [ + "cool_test" + ] + }, + 'summary': { + 'excluded_lines': 0, + 'missing_lines': 1, + 'covered_lines': 2, + 'num_statements': 3, + 'percent_covered': 66.66666666666667 + } } + }, + 'totals': { + 'excluded_lines': 0, + 'missing_lines': 1, + 'covered_lines': 2, + 'num_statements': 3, + 'percent_covered': 66.66666666666667 } - }, - 'totals': { - 'excluded_lines': 0, - 'missing_lines': 1, - 'covered_lines': 2, - 'num_statements': 3, - 'percent_covered': 66.66666666666667 } - } - self._assert_expected_json_report(cov, expected_result) + self._assert_expected_json_report(cov, expected_result) |