summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-11-13 08:09:19 -0500
committerNed Batchelder <ned@nedbatchelder.com>2021-11-13 08:09:19 -0500
commitffb064bae38a538b45b97944aa7eb735f881b0a6 (patch)
tree96b224feb81f2d8ec5c2674fa2270f6c36923e3c /coverage
parentedb0e698a7165b69bd5f19908d365b398bf4118f (diff)
downloadpython-coveragepy-git-nedbat/smarter-debug-data.tar.gz
refactor: rejigger 'debug data' codenedbat/smarter-debug-data
Diffstat (limited to 'coverage')
-rw-r--r--coverage/cmdline.py41
1 files changed, 22 insertions, 19 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index e996ffff..92c51a7a 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -601,8 +601,8 @@ class CoverageScript:
elif options.action == "combine":
if options.append:
self.coverage.load()
- data_dirs = args or None
- self.coverage.combine(data_dirs, strict=True, keep=bool(options.keep))
+ data_paths = args or None
+ self.coverage.combine(data_paths, strict=True, keep=bool(options.keep))
self.coverage.save()
return OK
@@ -786,23 +786,7 @@ class CoverageScript:
for line in info_formatter(sys_info):
print(f" {line}")
elif info == 'data':
- self.coverage.load()
- data = self.coverage.get_data()
- print(info_header("data"))
- print(f"path: {data.data_filename()}")
- if data:
- print(f"has_arcs: {data.has_arcs()!r}")
- summary = line_counts(data, fullpath=True)
- filenames = human_sorted(summary.keys())
- print(f"\n{len(filenames)} files:")
- for f in filenames:
- line = f"{f}: {summary[f]} lines"
- plugin = data.file_tracer(f)
- if plugin:
- line += f" [{plugin}]"
- print(line)
- else:
- print("No data collected")
+ self.do_debug_data()
elif info == 'config':
print(info_header("config"))
config_info = self.coverage.config.__dict__.items()
@@ -817,6 +801,25 @@ class CoverageScript:
return OK
+ def do_debug_data(self):
+ self.coverage.load()
+ data = self.coverage.get_data()
+ print(info_header("data"))
+ print(f"path: {data.data_filename()}")
+ if data:
+ print(f"has_arcs: {data.has_arcs()!r}")
+ summary = line_counts(data, fullpath=True)
+ filenames = human_sorted(summary.keys())
+ print(f"\n{len(filenames)} files:")
+ for f in filenames:
+ line = f"{f}: {summary[f]} lines"
+ plugin = data.file_tracer(f)
+ if plugin:
+ line += f" [{plugin}]"
+ print(line)
+ else:
+ print("No data collected")
+
def unshell_list(s):
"""Turn a command-line argument into a list."""