bpo-37359: Add --cleanup option to python3 -m test (GH-14332) (GH-14333)
* regrtest: Add --cleanup option to remove "test_python_*" directories
of previous failed test jobs.
* Add "make cleantest" to run "python -m test --cleanup".
(cherry picked from commit 47fbc4e45b
)
This commit is contained in:
parent
0346448396
commit
9d55bf440c
|
@ -375,7 +375,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
'runleaks', 'huntrleaks=', 'memlimit=', 'randseed=',
|
||||
'multiprocess=', 'slaveargs=', 'forever', 'header', 'pgo',
|
||||
'failfast', 'match=', 'testdir=', 'list-tests', 'list-cases',
|
||||
'coverage', 'matchfile=', 'fail-env-changed'])
|
||||
'coverage', 'matchfile=', 'fail-env-changed', 'cleanup'])
|
||||
except getopt.error, msg:
|
||||
usage(2, msg)
|
||||
|
||||
|
@ -388,6 +388,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
list_tests = False
|
||||
list_cases_opt = False
|
||||
fail_env_changed = False
|
||||
cleanup_tests = False
|
||||
for o, a in opts:
|
||||
if o in ('-h', '--help'):
|
||||
usage(0)
|
||||
|
@ -490,6 +491,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
list_cases_opt = True
|
||||
elif o == '--fail-env-changed':
|
||||
fail_env_changed = True
|
||||
elif o == '--cleanup':
|
||||
cleanup_tests = True
|
||||
else:
|
||||
print >>sys.stderr, ("No handler for option {}. Please "
|
||||
"report this as a bug at http://bugs.python.org.").format(o)
|
||||
|
@ -527,6 +530,22 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
|
|||
print >>sys.stderr, msg
|
||||
sys.exit(2)
|
||||
|
||||
if cleanup_tests:
|
||||
import glob
|
||||
|
||||
os.chdir(support.SAVEDCWD)
|
||||
path = os.path.join(TEMPDIR, 'test_python_*')
|
||||
print("Cleanup %s directory" % TEMPDIR)
|
||||
for name in glob.glob(path):
|
||||
if os.path.isdir(name):
|
||||
print("Remove directory: %s" % name)
|
||||
support.rmtree(name)
|
||||
else:
|
||||
print("Remove file: %s" % name)
|
||||
support.unlink(name)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
if slaveargs is not None:
|
||||
args, kwargs = json.loads(slaveargs)
|
||||
if testdir:
|
||||
|
|
|
@ -855,6 +855,12 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
|
|||
TESTOPTS= -l $(EXTRATESTOPTS)
|
||||
TESTPROG= $(srcdir)/Lib/test/regrtest.py
|
||||
TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
|
||||
|
||||
# Remove "test_python_*" directories of previous failed test jobs.
|
||||
# Pass TESTOPTS options because it can contain --tempdir option.
|
||||
cleantest: build_all
|
||||
$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) --cleanup
|
||||
|
||||
test: @DEF_MAKE_RULE@ platform
|
||||
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
|
||||
-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Add --cleanup option to python3 -m test to remove ``test_python_*``
|
||||
directories of previous failed jobs. Add "make cleantest" to run
|
||||
``python3 -m test --cleanup``.
|
||||
|
Loading…
Reference in New Issue