Ensure all uses of a test filename in the test event infrastructure normalize the test filename to end in the ".py" extension. Something here changed recently such that normal code paths through a test run are producing ".pyc" instead of ".py". This caused places that need to generate the filename to differ - e.g. when a timeout or exceptional exit occurs, because those are using the straight-up .py file. This, ultimately, led to test infrastructure having multiple results for the same test when a test timed out or had an exceptional exit. This, in turn, caused a test run to fail when a rerun would normally have cleared the failure.
This wreaked havoc on the Swift CI after I took a recent merge from LLVM.org. This change is now up there and, combined with D19214, addressed all the book-keeping issues we were hitting. I'm now bringing these back to the LLDB svn repo.
The change itself is simple and just ensures all uses of the test filename change any names ending in .pyc to .py.