diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-11-16 08:57:02 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-11-16 17:56:09 -0500 |
commit | 25ea7a956ab05d24fed61519c83a64462597d712 (patch) | |
tree | ef91fc4839850e6137efacc0b4c59cb09a2b52d6 | |
parent | f3f2f2a151ba7cc3251388f8c167b52499527a18 (diff) | |
download | python-coveragepy-git-25ea7a956ab05d24fed61519c83a64462597d712.tar.gz |
refactor: move this so I can use it ad-hoc more easily
-rw-r--r-- | coverage/cmdline.py | 28 | ||||
-rw-r--r-- | coverage/data.py | 24 |
2 files changed, 26 insertions, 26 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index d0cd4625..ae20acc5 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -17,11 +17,10 @@ import coverage from coverage import Coverage from coverage import env from coverage.collector import CTracer -from coverage.data import CoverageData, combinable_files, line_counts +from coverage.data import combinable_files, debug_data_file from coverage.debug import info_formatter, info_header, short_stack from coverage.exceptions import _BaseCoverageException, _ExceptionDuringRun, NoSource from coverage.execfile import PyRunner -from coverage.misc import human_sorted, plural from coverage.results import Numbers, should_fail_under @@ -790,10 +789,10 @@ class CoverageScript: elif args[0] == 'data': print(info_header("data")) data_file = self.coverage.config.data_file - self.do_debug_data_file(data_file) + debug_data_file(data_file) for filename in combinable_files(data_file): print("-----") - self.do_debug_data_file(filename) + debug_data_file(filename) elif args[0] == 'config': print(info_header("config")) config_info = sorted(self.coverage.config.__dict__.items()) @@ -808,27 +807,6 @@ class CoverageScript: return OK - def do_debug_data_file(self, filename): - """Implementation of 'coverage debug data'.""" - data = CoverageData(filename) - filename = data.data_filename() - print(f"path: {filename}") - if not os.path.exists(filename): - print("No data collected: file doesn't exist") - return - data.read() - print(f"has_arcs: {data.has_arcs()!r}") - summary = line_counts(data, fullpath=True) - filenames = human_sorted(summary.keys()) - nfiles = len(filenames) - print(f"{nfiles} file{plural(nfiles)}:") - for f in filenames: - line = f"{f}: {summary[f]} line{plural(summary[f])}" - plugin = data.file_tracer(f) - if plugin: - line += f" [{plugin}]" - print(line) - def unshell_list(s): """Turn a command-line argument into a list.""" diff --git a/coverage/data.py b/coverage/data.py index c70993ad..2765c4a3 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -14,7 +14,7 @@ import glob import os.path from coverage.exceptions import CoverageException, NoDataError -from coverage.misc import file_be_gone +from coverage.misc import file_be_gone, human_sorted, plural from coverage.sqldata import CoverageData @@ -139,3 +139,25 @@ def combine_parallel_data( if strict and not files_combined: raise NoDataError("No usable data files") + + +def debug_data_file(filename): + """Implementation of 'coverage debug data'.""" + data = CoverageData(filename) + filename = data.data_filename() + print(f"path: {filename}") + if not os.path.exists(filename): + print("No data collected: file doesn't exist") + return + data.read() + print(f"has_arcs: {data.has_arcs()!r}") + summary = line_counts(data, fullpath=True) + filenames = human_sorted(summary.keys()) + nfiles = len(filenames) + print(f"{nfiles} file{plural(nfiles)}:") + for f in filenames: + line = f"{f}: {summary[f]} line{plural(summary[f])}" + plugin = data.file_tracer(f) + if plugin: + line += f" [{plugin}]" + print(line) |