summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLib/test/regrtest.py8
-rw-r--r--Misc/NEWS6
2 files changed, 13 insertions, 1 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 308baf4..366cedf 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -1458,7 +1458,13 @@ class _ExpectedSkips:
return self.expected
if __name__ == '__main__':
- # Simplification for findtestdir().
+ # findtestdir() gets the dirname out of __file__, so we have to make it
+ # absolute before changing the working directory.
+ # For example __file__ may be relative when running trace or profile.
+ # See issue #9323.
+ __file__ = os.path.abspath(__file__)
+
+ # sanity check
assert __file__ == os.path.abspath(sys.argv[0])
# When tests are run from the Python build directory, it is best practice
diff --git a/Misc/NEWS b/Misc/NEWS
index 2281892..2392b24 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -142,6 +142,12 @@ Tools/Demos
as wide (UCS4) unicode builds for both the host interpreter (embedded
inside gdb) and the interpreter under test.
+Tests
+-----
+
+- Issue #9323: Make test.regrtest.__file__ absolute, this was not always the
+ case when running profile or trace, for example.
+
Build
-----