mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
gh-112192: Increase the trace module coverage precision to one decimal (#126972)
This commit is contained in:
parent
dabcecfd6d
commit
12397a5781
4 changed files with 7 additions and 7 deletions
|
|
@ -1138,7 +1138,7 @@ class ArgsTestCase(BaseTestCase):
|
||||||
output = self.run_tests("--coverage", test)
|
output = self.run_tests("--coverage", test)
|
||||||
self.check_executed_tests(output, [test], stats=1)
|
self.check_executed_tests(output, [test], stats=1)
|
||||||
regex = (r'lines +cov% +module +\(path\)\n'
|
regex = (r'lines +cov% +module +\(path\)\n'
|
||||||
r'(?: *[0-9]+ *[0-9]{1,2}% *[^ ]+ +\([^)]+\)+)+')
|
r'(?: *[0-9]+ *[0-9]{1,2}\.[0-9]% *[^ ]+ +\([^)]+\)+)+')
|
||||||
self.check_line(output, regex)
|
self.check_line(output, regex)
|
||||||
|
|
||||||
def test_wait(self):
|
def test_wait(self):
|
||||||
|
|
|
||||||
|
|
@ -412,7 +412,7 @@ class TestCoverage(unittest.TestCase):
|
||||||
coverage = {}
|
coverage = {}
|
||||||
for line in stdout:
|
for line in stdout:
|
||||||
lines, cov, module = line.split()[:3]
|
lines, cov, module = line.split()[:3]
|
||||||
coverage[module] = (int(lines), int(cov[:-1]))
|
coverage[module] = (float(lines), float(cov[:-1]))
|
||||||
# XXX This is needed to run regrtest.py as a script
|
# XXX This is needed to run regrtest.py as a script
|
||||||
modname = trace._fullmodname(sys.modules[modname].__file__)
|
modname = trace._fullmodname(sys.modules[modname].__file__)
|
||||||
self.assertIn(modname, coverage)
|
self.assertIn(modname, coverage)
|
||||||
|
|
@ -553,7 +553,7 @@ class TestCommandLine(unittest.TestCase):
|
||||||
stdout = stdout.decode()
|
stdout = stdout.decode()
|
||||||
self.assertEqual(status, 0)
|
self.assertEqual(status, 0)
|
||||||
self.assertIn('lines cov% module (path)', stdout)
|
self.assertIn('lines cov% module (path)', stdout)
|
||||||
self.assertIn(f'6 100% {modulename} ({filename})', stdout)
|
self.assertIn(f'6 100.0% {modulename} ({filename})', stdout)
|
||||||
|
|
||||||
def test_run_as_module(self):
|
def test_run_as_module(self):
|
||||||
assert_python_ok('-m', 'trace', '-l', '--module', 'timeit', '-n', '1')
|
assert_python_ok('-m', 'trace', '-l', '--module', 'timeit', '-n', '1')
|
||||||
|
|
|
||||||
|
|
@ -279,14 +279,13 @@ class CoverageResults:
|
||||||
n_hits, n_lines = self.write_results_file(coverpath, source,
|
n_hits, n_lines = self.write_results_file(coverpath, source,
|
||||||
lnotab, count, encoding)
|
lnotab, count, encoding)
|
||||||
if summary and n_lines:
|
if summary and n_lines:
|
||||||
percent = int(100 * n_hits / n_lines)
|
sums[modulename] = n_lines, n_hits, modulename, filename
|
||||||
sums[modulename] = n_lines, percent, modulename, filename
|
|
||||||
|
|
||||||
if summary and sums:
|
if summary and sums:
|
||||||
print("lines cov% module (path)")
|
print("lines cov% module (path)")
|
||||||
for m in sorted(sums):
|
for m in sorted(sums):
|
||||||
n_lines, percent, modulename, filename = sums[m]
|
n_lines, n_hits, modulename, filename = sums[m]
|
||||||
print("%5d %3d%% %s (%s)" % sums[m])
|
print(f"{n_lines:5d} {n_hits/n_lines:.1%} {modulename} ({filename})")
|
||||||
|
|
||||||
if self.outfile:
|
if self.outfile:
|
||||||
# try and store counts and module info into self.outfile
|
# try and store counts and module info into self.outfile
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
In the :mod:`trace` module, increase the coverage precision (``cov%``) to one decimal.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue