summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2022-12-08 07:37:02 -0500
committerNed Batchelder <ned@nedbatchelder.com>2022-12-08 07:40:23 -0500
commitd4f76976a8084622faef86f6083b75b63865ddfd (patch)
treec9e4df7b85df0cebce5bd301a1195a66123b232d
parentee87d0e3568be01adfa6e159280bff02c9744e17 (diff)
downloadpython-coveragepy-git-d4f76976a8084622faef86f6083b75b63865ddfd.tar.gz
temp: debug pickle problems
-rw-r--r--coverage/html.py20
-rw-r--r--tests/test_html.py2
2 files changed, 20 insertions, 2 deletions
diff --git a/coverage/html.py b/coverage/html.py
index f7d099c0..38af08d0 100644
--- a/coverage/html.py
+++ b/coverage/html.py
@@ -23,6 +23,12 @@ from coverage.templite import Templite
os = isolate_module(os)
+def show_obj(o, oname):
+ for name in dir(o):
+ val = getattr(o, name)
+ if not callable(val):
+ print("{}.{} = {!r:.100}".format(oname, name, val))
+
def data_filename(fname):
"""Return the path to an "htmlfiles" data file of ours.
"""
@@ -239,6 +245,19 @@ class HtmlReporter:
next_html = "index.html"
else:
next_html = files_to_report[i + 1].html_filename
+ self.make_directory()
+ self.coverage = None
+ ftr.fr.coverage = None
+ ftr.analysis.data = None
+ import pickle
+ print("=-" * 60)
+ show_obj(ftr, "ftr")
+ show_obj(ftr.analysis, "ftr.analysis")
+ show_obj(ftr.analysis.data, "ftr.analysis.data")
+ show_obj(ftr.analysis.numbers, "ftr.analysis.numbers")
+ show_obj(ftr.fr, "ftr.fr")
+ show_obj(ftr.fr._parser, "ftr.fr._parser")
+ pickle.dumps(ftr)
futures.append(executor.submit(self.write_html_file, ftr, prev_html, next_html))
for future in futures:
@@ -308,7 +327,6 @@ class HtmlReporter:
def write_html_file(self, ftr, prev_html, next_html):
"""Generate an HTML file for one source file."""
- self.make_directory()
# Find out if the file on disk is already correct.
if self.incr.can_skip_file(self.data, ftr.fr, ftr.rootname):
diff --git a/tests/test_html.py b/tests/test_html.py
index b49cdabb..4ceae11a 100644
--- a/tests/test_html.py
+++ b/tests/test_html.py
@@ -16,10 +16,10 @@ from unittest import mock
import pytest
import coverage
+import coverage.html
from coverage import env
from coverage.exceptions import NoDataError, NotPython, NoSource
from coverage.files import abs_file, flat_rootname
-import coverage.html
from coverage.report import get_analysis_to_report
from tests.coveragetest import CoverageTest, TESTS_DIR