From 8041638970a78ae67f776846d59f6cb8ea158a17 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Thu, 2 Jul 2015 07:18:01 -0400 Subject: Exec'ing code gives the wrong filename. A warning now, while we figure it out. Part of #380. --- coverage/control.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index 9ac091d7..48c0c1ca 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -435,6 +435,7 @@ class Coverage(object): Returns a FileDisposition object. """ + original_filename = filename disp = FileDisposition(filename) def nope(disp, reason): @@ -452,6 +453,10 @@ class Coverage(object): dunder_file = frame.f_globals.get('__file__') if dunder_file: filename = self._source_for_file(dunder_file) + if os.path.basename(original_filename) != os.path.basename(filename): + # Files shouldn't be renamed when moved. This happens when + # exec'ing code, not sure why yet. + self._warn("File was renamed?: %r became %r" % (original_filename, filename)) if not filename: # Empty string is pretty useless. -- cgit v1.2.1