summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coverage/data.py8
-rw-r--r--tests/test_api.py10
-rw-r--r--tests/test_arcs.py3
-rw-r--r--tests/test_context.py6
-rw-r--r--tests/test_oddball.py6
-rw-r--r--tests/test_plugins.py12
6 files changed, 26 insertions, 19 deletions
diff --git a/coverage/data.py b/coverage/data.py
index 986e3197..16fb9a8a 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -56,7 +56,7 @@ def add_data_to_hash(data: CoverageData, filename: str, hasher: Hasher) -> None:
if data.has_arcs():
hasher.update(sorted(data.arcs(filename) or []))
else:
- hasher.update(sorted(data.lines(filename) or []))
+ hasher.update(sorted_lines(data, filename))
hasher.update(data.file_tracer(filename))
@@ -200,3 +200,9 @@ def debug_data_file(filename: str) -> None:
if plugin:
line += f" [{plugin}]"
print(line)
+
+
+def sorted_lines(data: CoverageData, filename: str) -> List[int]:
+ """Get the sorted lines for a file, for tests."""
+ lines = data.lines(filename)
+ return sorted(lines or [])
diff --git a/tests/test_api.py b/tests/test_api.py
index 01132053..d979c182 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -19,7 +19,7 @@ import pytest
import coverage
from coverage import Coverage, env
-from coverage.data import line_counts
+from coverage.data import line_counts, sorted_lines
from coverage.exceptions import CoverageException, DataError, NoDataError, NoSource
from coverage.files import abs_file, relative_filename
from coverage.misc import import_local_file
@@ -655,9 +655,9 @@ class ApiTest(CoverageTest):
suite_filename = filenames['testsuite.py']
data.set_query_context("multiply_six")
- assert [2, 8] == sorted(data.lines(suite_filename))
+ assert [2, 8] == sorted_lines(data, suite_filename)
data.set_query_context("multiply_zero")
- assert [2, 5] == sorted(data.lines(suite_filename))
+ assert [2, 5] == sorted_lines(data, suite_filename)
def test_switch_context_with_static(self) -> None:
# This test simulates a coverage-aware test runner,
@@ -694,9 +694,9 @@ class ApiTest(CoverageTest):
suite_filename = filenames['testsuite.py']
data.set_query_context("mysuite|multiply_six")
- assert [2, 8] == sorted(data.lines(suite_filename))
+ assert [2, 8] == sorted_lines(data, suite_filename)
data.set_query_context("mysuite|multiply_zero")
- assert [2, 5] == sorted(data.lines(suite_filename))
+ assert [2, 5] == sorted_lines(data, suite_filename)
def test_dynamic_context_conflict(self) -> None:
cov = coverage.Coverage(source=["."])
diff --git a/tests/test_arcs.py b/tests/test_arcs.py
index 4c68abba..02592918 100644
--- a/tests/test_arcs.py
+++ b/tests/test_arcs.py
@@ -10,6 +10,7 @@ from tests.helpers import assert_count_equal, xfail_pypy38
import coverage
from coverage import env
+from coverage.data import sorted_lines
from coverage.files import abs_file
@@ -2079,5 +2080,5 @@ class LineDataTest(CoverageTest):
self.start_import_stop(cov, "fun1")
data = cov.get_data()
- fun1_lines = data.lines(abs_file("fun1.py"))
+ fun1_lines = sorted_lines(data, abs_file("fun1.py"))
assert_count_equal(fun1_lines, [1, 2, 5])
diff --git a/tests/test_context.py b/tests/test_context.py
index 36eff2f0..4a1635a2 100644
--- a/tests/test_context.py
+++ b/tests/test_context.py
@@ -9,7 +9,7 @@ from unittest import mock
import coverage
from coverage.context import qualname_from_frame
-from coverage.data import CoverageData
+from coverage.data import CoverageData, sorted_lines
from tests.coveragetest import CoverageTest
from tests.helpers import assert_count_equal
@@ -165,7 +165,7 @@ class DynamicContextTest(CoverageTest):
def assert_context_lines(context, lines):
data.set_query_context(context)
- assert_count_equal(lines, data.lines(fname))
+ assert_count_equal(lines, sorted_lines(data, fname))
assert_context_lines("", self.OUTER_LINES)
assert_context_lines("two_tests.test_one", self.TEST_ONE_LINES)
@@ -187,7 +187,7 @@ class DynamicContextTest(CoverageTest):
def assert_context_lines(context, lines):
data.set_query_context(context)
- assert_count_equal(lines, data.lines(fname))
+ assert_count_equal(lines, sorted_lines(data, fname))
assert_context_lines("stat", self.OUTER_LINES)
assert_context_lines("stat|two_tests.test_one", self.TEST_ONE_LINES)
diff --git a/tests/test_oddball.py b/tests/test_oddball.py
index 37216b39..2c35177b 100644
--- a/tests/test_oddball.py
+++ b/tests/test_oddball.py
@@ -12,6 +12,7 @@ import pytest
import coverage
from coverage import env
+from coverage.data import sorted_lines
from coverage.files import abs_file
from coverage.misc import import_local_file
@@ -383,8 +384,7 @@ class ExceptionTest(CoverageTest):
data = cov.get_data()
for callname in callnames:
filename = callname + ".py"
- lines = data.lines(abs_file(filename))
- clean_lines[filename] = sorted(lines)
+ clean_lines[filename] = sorted_lines(data, abs_file(filename))
assert clean_lines == lines_expected
@@ -427,7 +427,7 @@ class DoctestTest(CoverageTest):
self.start_import_stop(cov, "the_doctest")
data = cov.get_data()
assert len(data.measured_files()) == 1
- lines = data.lines(data.measured_files().pop())
+ lines = sorted_lines(data, data.measured_files().pop())
assert lines == [1, 3, 18, 19, 21, 23, 24]
diff --git a/tests/test_plugins.py b/tests/test_plugins.py
index cd446441..d407f748 100644
--- a/tests/test_plugins.py
+++ b/tests/test_plugins.py
@@ -14,7 +14,7 @@ import pytest
import coverage
from coverage import env
from coverage.control import Plugins
-from coverage.data import line_counts
+from coverage.data import line_counts, sorted_lines
from coverage.exceptions import CoverageWarning, NoSource, PluginError
from coverage.misc import import_local_file
@@ -1047,11 +1047,11 @@ class DynamicContextPluginTest(CoverageTest):
expected = ['', 'doctest:HTML_TAG', 'test:HTML_TAG', 'test:RENDERERS']
assert expected == sorted(data.measured_contexts())
data.set_query_context("doctest:HTML_TAG")
- assert [2] == data.lines(filenames['rendering.py'])
+ assert [2] == sorted_lines(data, filenames['rendering.py'])
data.set_query_context("test:HTML_TAG")
- assert [2] == data.lines(filenames['rendering.py'])
+ assert [2] == sorted_lines(data, filenames['rendering.py'])
data.set_query_context("test:RENDERERS")
- assert [2, 5, 8, 11] == sorted(data.lines(filenames['rendering.py']))
+ assert [2, 5, 8, 11] == sorted_lines(data, filenames['rendering.py'])
def test_static_context(self):
self.make_plugin_capitalized_testnames('plugin_tests.py')
@@ -1101,7 +1101,7 @@ class DynamicContextPluginTest(CoverageTest):
def assert_context_lines(context, lines):
data.set_query_context(context)
- assert lines == sorted(data.lines(filenames['rendering.py']))
+ assert lines == sorted_lines(data, filenames['rendering.py'])
assert_context_lines("doctest:HTML_TAG", [2])
assert_context_lines("testsuite.test_html_tag", [2])
@@ -1139,7 +1139,7 @@ class DynamicContextPluginTest(CoverageTest):
def assert_context_lines(context, lines):
data.set_query_context(context)
- assert lines == sorted(data.lines(filenames['rendering.py']))
+ assert lines == sorted_lines(data, filenames['rendering.py'])
assert_context_lines("test:HTML_TAG", [2])
assert_context_lines("test:RENDERERS", [2, 5, 8, 11])