diff options
author | Steve Dower <steve.dower@microsoft.com> | 2018-11-17 12:14:36 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-17 12:14:36 (GMT) |
commit | 38df97a03c5102e717a110ab69bff8e5c9ebfd08 (patch) | |
tree | 00ffb104fac76a29dd09ba91d7af302df7f493af | |
parent | 5a087d5401e6956cf4c6d95f15fedabf39a4f5af (diff) | |
download | cpython-38df97a03c5102e717a110ab69bff8e5c9ebfd08.zip cpython-38df97a03c5102e717a110ab69bff8e5c9ebfd08.tar.gz cpython-38df97a03c5102e717a110ab69bff8e5c9ebfd08.tar.bz2 |
Add --tempdir option for test run (GH-10322)
-rw-r--r-- | .azure-pipelines/windows-steps.yml | 2 | ||||
-rw-r--r-- | Lib/test/libregrtest/cmdline.py | 6 | ||||
-rw-r--r-- | Lib/test/libregrtest/main.py | 12 |
3 files changed, 9 insertions, 11 deletions
diff --git a/.azure-pipelines/windows-steps.yml b/.azure-pipelines/windows-steps.yml index d8d5f17..c317584 100644 --- a/.azure-pipelines/windows-steps.yml +++ b/.azure-pipelines/windows-steps.yml @@ -17,7 +17,7 @@ steps: - script: python.bat -m test.pythoninfo displayName: 'Display build info' -- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results.xml" +- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results.xml" --tempdir="$(Build.BinariesDirectory)\test" displayName: 'Tests' env: PREFIX: $(Py_OutDir)\$(arch) diff --git a/Lib/test/libregrtest/cmdline.py b/Lib/test/libregrtest/cmdline.py index 538ff05..0927032 100644 --- a/Lib/test/libregrtest/cmdline.py +++ b/Lib/test/libregrtest/cmdline.py @@ -271,7 +271,8 @@ def _create_parser(): group.add_argument('--junit-xml', dest='xmlpath', metavar='FILENAME', help='writes JUnit-style XML results to the specified ' 'file') - + group.add_argument('--tempdir', dest='tempdir', metavar='PATH', + help='override the working directory for the test run') return parser @@ -383,8 +384,7 @@ def _parse_args(args, **kwargs): if ns.match_filename: if ns.match_tests is None: ns.match_tests = [] - filename = os.path.join(support.SAVEDCWD, ns.match_filename) - with open(filename) as fp: + with open(ns.match_filename) as fp: for line in fp: ns.match_tests.append(line.strip()) diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 1fd4132..a8d27ae 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -550,12 +550,12 @@ class Regrtest: def main(self, tests=None, **kwargs): global TEMPDIR + self.ns = self.parse_args(kwargs) - if sysconfig.is_python_build(): - try: - os.mkdir(TEMPDIR) - except FileExistsError: - pass + if self.ns.tempdir: + TEMPDIR = self.ns.tempdir + + os.makedirs(TEMPDIR, exist_ok=True) # Define a writable temp dir that will be used as cwd while running # the tests. The name of the dir includes the pid to allow parallel @@ -571,8 +571,6 @@ class Regrtest: self._main(tests, kwargs) def _main(self, tests, kwargs): - self.ns = self.parse_args(kwargs) - if self.ns.huntrleaks: warmup, repetitions, _ = self.ns.huntrleaks if warmup < 1 or repetitions < 1: |