#! /usr/bin/env python3 """ Script to run Python regression tests. Run this script with -h or --help for documentation. """ # We import importlib *ASAP* in order to test #15386 import importlib import os import sys from test.libregrtest import main # Alias for backward compatibility (just in case) main_in_temp_cwd = main def _main(): global __file__ # Remove regrtest.py's own directory from the module search path. Despite # the elimination of implicit relative imports, this is still needed to # ensure that submodules of the test package do not inappropriately appear # as top-level modules even when people (or buildbots!) invoke regrtest.py # directly instead of using the -m switch mydir = os.path.abspath(os.path.normpath(os.path.dirname(sys.argv[0]))) i = len(sys.path) - 1 while i >= 0: if os.path.abspath(os.path.normpath(sys.path[i])) == mydir: del sys.path[i] else: i -= 1 # 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]) main() if __name__ == '__main__': _main()