comparison tests/run-tests.py @ 20506:a46c9fea6c73

run-tests: introduce 'warned' as test result While running, a test resulting in 'warned' is shown as '~'. Test results with state warned are listed between the skipped and the failed tests. Example: Skipped test-revert-flags.t: missing feature: executable bit Skipped test-inotify-lookup.t: missing feature: inotify extension support Warned test-something.t: output changed Failed test-largefiles.t: output changed Failed test-subrepo.t: output changed # Ran 11 tests, 2 skipped, 1 warned, 2 failed. The test result "warned" will be used in later patches.
author Simon Heimberg <simohe@besonet.ch>
date Thu, 13 Feb 2014 08:14:54 +0100
parents eca34583cd87
children 38444739a69f
comparison
equal deleted inserted replaced
20505:eca34583cd87 20506:a46c9fea6c73
1072 if os.path.abspath(actualhg) != os.path.abspath(expecthg): 1072 if os.path.abspath(actualhg) != os.path.abspath(expecthg):
1073 sys.stderr.write('warning: %s with unexpected mercurial lib: %s\n' 1073 sys.stderr.write('warning: %s with unexpected mercurial lib: %s\n'
1074 ' (expected %s)\n' 1074 ' (expected %s)\n'
1075 % (verb, actualhg, expecthg)) 1075 % (verb, actualhg, expecthg))
1076 1076
1077 results = {'.':[], '!':[], 's':[], 'i':[]} 1077 results = {'.':[], '!':[], '~': [], 's':[], 'i':[]}
1078 times = [] 1078 times = []
1079 iolock = threading.Lock() 1079 iolock = threading.Lock()
1080 abort = False 1080 abort = False
1081 1081
1082 def scheduletests(options, tests): 1082 def scheduletests(options, tests):
1136 tests = orig 1136 tests = orig
1137 1137
1138 scheduletests(options, tests) 1138 scheduletests(options, tests)
1139 1139
1140 failed = len(results['!']) 1140 failed = len(results['!'])
1141 tested = len(results['.']) + failed 1141 warned = len(results['~'])
1142 tested = len(results['.']) + failed + warned
1142 skipped = len(results['s']) 1143 skipped = len(results['s'])
1143 ignored = len(results['i']) 1144 ignored = len(results['i'])
1144 1145
1145 print 1146 print
1146 if not options.noskips: 1147 if not options.noskips:
1147 for s in results['s']: 1148 for s in results['s']:
1148 print "Skipped %s: %s" % s 1149 print "Skipped %s: %s" % s
1150 for s in results['~']:
1151 print "Warned %s: %s" % s
1149 for s in results['!']: 1152 for s in results['!']:
1150 print "Failed %s: %s" % s 1153 print "Failed %s: %s" % s
1151 _checkhglib("Tested") 1154 _checkhglib("Tested")
1152 print "# Ran %d tests, %d skipped, %d failed." % ( 1155 print "# Ran %d tests, %d skipped, %d warned, %d failed." % (
1153 tested, skipped + ignored, failed) 1156 tested, skipped + ignored, warned, failed)
1154 if results['!']: 1157 if results['!']:
1155 print 'python hash seed:', os.environ['PYTHONHASHSEED'] 1158 print 'python hash seed:', os.environ['PYTHONHASHSEED']
1156 if options.time: 1159 if options.time:
1157 outputtimes(options) 1160 outputtimes(options)
1158 1161