Fix test rerun logic
authorPavel Labath <labath@google.com>
Wed, 13 Apr 2016 12:05:48 +0000 (12:05 +0000)
committerPavel Labath <labath@google.com>
Wed, 13 Apr 2016 12:05:48 +0000 (12:05 +0000)
result_formatter used inspect.getfile() to get the python file name, which returned "*.pyc" if
the bytecode file was present. This resulted in files being displayed with the wrong extension,
and more critically, would confuse the rerun logic because it would try to rerun the pyc file
(which resulted in an empty rerun list as unittest refused to run those).

Fix: use inspect.getsourcefile() instead.

I am not sure why does was not an issue before. I can only assume that some system update
tricked python into producing bytecode files more aggressively.

llvm-svn: 266192

lldb/packages/Python/lldbsuite/test/result_formatter.py

index 4447491..070fa6c 100644 (file)
@@ -247,7 +247,7 @@ class EventBuilder(object):
         if hasattr(test, "test_filename"):
             test_filename = test.test_filename
         else:
-            test_filename = inspect.getfile(test.__class__)
+            test_filename = inspect.getsourcefile(test.__class__)
 
         event = EventBuilder.bare_event(event_type)
         event.update({