tests/run-tests.py
changeset 3626 02e9355c3420
parent 3625 cc0cd5942223
child 3777 037824e6d362
equal deleted inserted replaced
3625:cc0cd5942223 3626:02e9355c3420
    36     help="retest failed tests")
    36     help="retest failed tests")
    37 parser.add_option("-f", "--first", action="store_true",
    37 parser.add_option("-f", "--first", action="store_true",
    38     help="exit on the first test failure")
    38     help="exit on the first test failure")
    39 parser.add_option("-R", "--restart", action="store_true",
    39 parser.add_option("-R", "--restart", action="store_true",
    40     help="restart at last error")
    40     help="restart at last error")
       
    41 parser.add_option("-i", "--interactive", action="store_true",
       
    42     help="prompt to accept changed output")
    41 
    43 
    42 parser.set_defaults(timeout=180)
    44 parser.set_defaults(timeout=180)
    43 (options, args) = parser.parse_args()
    45 (options, args) = parser.parse_args()
    44 verbose = options.verbose
    46 verbose = options.verbose
    45 coverage = options.cover or options.cover_stdlib or options.annotate
    47 coverage = options.cover or options.cover_stdlib or options.annotate
   389                 continue
   391                 continue
   390             ret = run_one(test)
   392             ret = run_one(test)
   391             if ret is None:
   393             if ret is None:
   392                 skipped += 1
   394                 skipped += 1
   393             elif not ret:
   395             elif not ret:
       
   396                 if options.interactive:
       
   397                     print "Accept this change? [n] ",
       
   398                     answer = sys.stdin.readline().strip()
       
   399                     if answer.lower() in "y yes".split():
       
   400                         os.rename(test + ".err", test + ".out")
       
   401                         tested += 1
       
   402                         continue
   394                 failed += 1
   403                 failed += 1
   395                 if options.first:
   404                 if options.first:
   396                     break
   405                     break
   397             tested += 1
   406             tested += 1
   398 
   407