Skip to content

Commit 31f7280

Browse files
committed
Cleanup and changelog for #899 #900
1 parent ade1f2c commit 31f7280

File tree

3 files changed

+57
-46
lines changed

3 files changed

+57
-46
lines changed

CHANGES.rst

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ want to know what's different in 5.0 since 4.5.x, see :ref:`whatsnew5x`.
2424
Unreleased
2525
----------
2626

27+
- Measurement contexts and relative file names didn't work together, as
28+
reported in `issue_899`_ and `issue_900`_. This is now fixed, thanks to
29+
David Szotten.
30+
2731
- When using ``coverage run --concurrency=multiprocessing``, all data files
2832
should be named with parallel-ready suffixes. 5.0 mistakenly named the main
2933
process' file with no suffix when using ``--append``. This is now fixed,
@@ -34,6 +38,8 @@ Unreleased
3438

3539
.. _issue 880: https://github.com/nedbat/coveragepy/issues/880
3640
.. _issue 895: https://github.com/nedbat/coveragepy/issues/895
41+
.. _issue 899: https://github.com/nedbat/coveragepy/issues/899
42+
.. _issue 900: https://github.com/nedbat/coveragepy/issues/900
3743

3844

3945
.. _changes_50:

CONTRIBUTORS.txt

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Danny Allen
4242
David Christian
4343
David MacIver
4444
David Stanek
45+
David Szotten
4546
Detlev Offenbach
4647
Devin Jeanpierre
4748
Dirk Thomas

tests/test_json.py

+50-46
Original file line numberDiff line numberDiff line change
@@ -102,52 +102,56 @@ def test_simple_line_coverage(self):
102102
}
103103
self._assert_expected_json_report(cov, expected_result)
104104

105-
def test_context(self):
106-
for relative_files in [False, True]:
107-
config_file = os.path.join(self.temp_dir, "config")
108-
with open(config_file, 'w') as handle:
109-
handle.write(
110-
"[run]\nrelative_files = {}".format(relative_files)
111-
)
112-
cov = coverage.Coverage(
113-
context="cool_test",
114-
config_file=config_file
115-
)
116-
cov.config.json_show_contexts = True
117-
expected_result = {
118-
'meta': {
119-
"version": coverage.__version__,
120-
"branch_coverage": False,
121-
"show_contexts": True,
122-
},
123-
'files': {
124-
'a.py': {
125-
'executed_lines': [1, 2],
126-
'missing_lines': [3],
127-
'excluded_lines': [],
128-
"contexts": {
129-
"1": [
130-
"cool_test"
131-
],
132-
"2": [
133-
"cool_test"
134-
]
135-
},
136-
'summary': {
137-
'excluded_lines': 0,
138-
'missing_lines': 1,
139-
'covered_lines': 2,
140-
'num_statements': 3,
141-
'percent_covered': 66.66666666666667
142-
}
105+
def run_context_test(self, relative_files):
106+
"""A helper for two tests below."""
107+
self.make_file("config", """\
108+
[run]
109+
relative_files = {}
110+
111+
[json]
112+
show_contexts = True
113+
""".format(relative_files))
114+
cov = coverage.Coverage(context="cool_test", config_file="config")
115+
expected_result = {
116+
'meta': {
117+
"version": coverage.__version__,
118+
"branch_coverage": False,
119+
"show_contexts": True,
120+
},
121+
'files': {
122+
'a.py': {
123+
'executed_lines': [1, 2],
124+
'missing_lines': [3],
125+
'excluded_lines': [],
126+
"contexts": {
127+
"1": [
128+
"cool_test"
129+
],
130+
"2": [
131+
"cool_test"
132+
]
133+
},
134+
'summary': {
135+
'excluded_lines': 0,
136+
'missing_lines': 1,
137+
'covered_lines': 2,
138+
'num_statements': 3,
139+
'percent_covered': 66.66666666666667
143140
}
144-
},
145-
'totals': {
146-
'excluded_lines': 0,
147-
'missing_lines': 1,
148-
'covered_lines': 2,
149-
'num_statements': 3,
150-
'percent_covered': 66.66666666666667
151141
}
142+
},
143+
'totals': {
144+
'excluded_lines': 0,
145+
'missing_lines': 1,
146+
'covered_lines': 2,
147+
'num_statements': 3,
148+
'percent_covered': 66.66666666666667
152149
}
153-
self._assert_expected_json_report(cov, expected_result)
150+
}
151+
self._assert_expected_json_report(cov, expected_result)
152+
153+
def test_context_non_relative(self):
154+
self.run_context_test(relative_files=False)
155+
156+
def test_context_relative(self):
157+
self.run_context_test(relative_files=True)

0 commit comments

Comments
 (0)