Changeset 256728f for tests/test.py
- Timestamp:
- Jun 26, 2019, 5:32:42 PM (4 years ago)
- Branches:
- arm-eh, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 39156ed
- Parents:
- bd87a9ad (diff), b0ab7853 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/test.py
rbd87a9ad r256728f 202 202 if error : 203 203 text = text + '\n' + error 204 out = sys.stderr 205 206 print(text, file = out) 207 sys.stdout.flush() 204 205 return retcode == TestResult.SUCCESS, text 206 except KeyboardInterrupt: 207 return False, "" 208 except: 209 print("Unexpected error in worker thread", file=sys.stderr) 208 210 sys.stderr.flush() 209 210 return retcode != TestResult.SUCCESS 211 except KeyboardInterrupt: 212 False 211 return False, "" 212 213 213 214 214 # run the given list of tests with the given parameters … … 220 220 pool = multiprocessing.Pool(jobs) 221 221 222 failed = False 223 222 224 # for each test to run 223 225 try : 224 results = pool.map_async( 226 num = len(tests) 227 fancy = sys.stdout.isatty() 228 results = pool.imap_unordered( 225 229 run_test_worker, 226 230 tests, 227 231 chunksize = 1 228 ).get(settings.timeout.total) 232 ) 233 234 for i, (succ, txt) in enumerate(timed(results, timeout = settings.timeout.total), 1) : 235 if not succ : 236 failed = True 237 238 print(" " + txt) 239 240 if(fancy and i != num): 241 print("%d/%d" % (i, num), end='\r') 242 sys.stdout.flush() 243 229 244 except KeyboardInterrupt: 245 print("Tests interrupted by user", file=sys.stderr) 230 246 pool.terminate() 231 print("Tests interrupted by user") 232 sys.exit(1) 247 pool.join() 248 failed = True 249 except multiprocessing.TimeoutError: 250 print("ERROR: Test suite timed out", file=sys.stderr) 251 pool.terminate() 252 pool.join() 253 failed = True 254 killgroup() # needed to cleanly kill all children 255 233 256 234 257 # clean the workspace 235 258 make('clean', output=subprocess.DEVNULL, error=subprocess.DEVNULL) 236 259 237 for failed in results: 238 if failed : 239 return 1 240 241 return 0 260 return 1 if failed else 0 242 261 243 262
Note: See TracChangeset
for help on using the changeset viewer.