diff -r aa2517e9f9ce Lib/test/regrtest.py --- a/Lib/test/regrtest.py Thu Jul 30 00:04:11 2015 +0300 +++ b/Lib/test/regrtest.py Thu Jul 30 21:51:17 2015 -0500 @@ -810,7 +810,7 @@ if ns.verbose2 and bad: print("Re-running failed tests in verbose mode") - for test in bad: + for test in bad[:]: print("Re-running test %r in verbose mode" % test) sys.stdout.flush() try: @@ -821,6 +821,13 @@ # print a newline separate from the ^C print() break + else: + if ok[0] in {PASSED, ENV_CHANGED, SKIPPED, RESOURCE_DENIED}: + bad.remove(test) + else: + if bad: + print(count(len(bad), 'test'), "failed again:") + printlist(bad) if ns.single: if next_single_test: