]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #7396: fix -s, which was broken by the -j enhancement.
authorR. David Murray <rdmurray@bitdance.com>
Wed, 16 Dec 2009 11:49:46 +0000 (11:49 +0000)
committerR. David Murray <rdmurray@bitdance.com>
Wed, 16 Dec 2009 11:49:46 +0000 (11:49 +0000)
Lib/test/regrtest.py
Misc/NEWS

index d0ea5e2f29bfac58331d3ae008d9a513a6dd1c62..fd6cafce7ecc4a72e98fc6c99b4e22b85a110cf1 100755 (executable)
@@ -406,9 +406,14 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
                 stdtests.remove(arg)
         nottests[:0] = args
         args = []
-    tests = tests or args or findtests(testdir, stdtests, nottests)
+    alltests = findtests(testdir, stdtests, nottests)
+    tests = tests or args or alltests
     if single:
         tests = tests[:1]
+        try:
+            next_single_test = alltests[alltests.index(tests[0])+1]
+        except IndexError:
+            next_single_test = None
     if randomize:
         random.seed(random_seed)
         print "Using random seed", random_seed
@@ -613,16 +618,9 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
                 raise
 
     if single:
-        alltests = findtests(testdir, stdtests, nottests)
-        for i in range(len(alltests)):
-            if tests[0] == alltests[i]:
-                if i == len(alltests) - 1:
-                    os.unlink(filename)
-                else:
-                    fp = open(filename, 'w')
-                    fp.write(alltests[i+1] + '\n')
-                    fp.close()
-                break
+        if next_single_test:
+            with open(filename, 'w') as fp:
+                fp.write(next_single_test + '\n')
         else:
             os.unlink(filename)
 
index 53905e4fa3df9c257c4242543284b18f3d586d56..c660e81e29ef76c7527e0aebb87e3b1634704b6c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -46,6 +46,8 @@ Library
 Tests
 -----
 
+- Issue #7396: fix regrtest -s, which was broken by the -j enhancement.
+
 - Issue #7498: test_multiprocessing now uses test_support.find_unused_port
   instead of a hardcoded port number in test_rapid_restart.