| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright 2008 the V8 project authors. All rights reserved. | 3 # Copyright 2008 the V8 project authors. All rights reserved. |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 class TestOutput(object): | 365 class TestOutput(object): |
| 366 | 366 |
| 367 def __init__(self, test, command, output): | 367 def __init__(self, test, command, output): |
| 368 self.test = test | 368 self.test = test |
| 369 self.command = command | 369 self.command = command |
| 370 self.output = output | 370 self.output = output |
| 371 | 371 |
| 372 def UnexpectedOutput(self): | 372 def UnexpectedOutput(self): |
| 373 if self.HasCrashed(): | 373 if self.HasCrashed(): |
| 374 outcome = CRASH | 374 outcome = CRASH |
| 375 elif self.HasTimedOut(): |
| 376 outcome = TIMEOUT |
| 375 elif self.HasFailed(): | 377 elif self.HasFailed(): |
| 376 outcome = FAIL | 378 outcome = FAIL |
| 377 else: | 379 else: |
| 378 outcome = PASS | 380 outcome = PASS |
| 379 return not outcome in self.test.outcomes | 381 return not outcome in self.test.outcomes |
| 380 | 382 |
| 381 def HasCrashed(self): | 383 def HasCrashed(self): |
| 382 if utils.IsWindows(): | 384 if utils.IsWindows(): |
| 383 return 0x80000000 & self.output.exit_code and not (0x3FFFFF00 & self.outpu
t.exit_code) | 385 return 0x80000000 & self.output.exit_code and not (0x3FFFFF00 & self.outpu
t.exit_code) |
| 384 else: | 386 else: |
| 385 # Timed out tests will have exit_code -signal.SIGTERM. | 387 # Timed out tests will have exit_code -signal.SIGTERM. |
| 386 if self.output.timed_out: | 388 if self.output.timed_out: |
| 387 return False | 389 return False |
| 388 return self.output.exit_code < 0 and \ | 390 return self.output.exit_code < 0 and \ |
| 389 self.output.exit_code != -signal.SIGABRT | 391 self.output.exit_code != -signal.SIGABRT |
| 390 | 392 |
| 391 def HasTimedOut(self): | 393 def HasTimedOut(self): |
| 392 return self.output.timed_out; | 394 return self.output.timed_out; |
| 393 | 395 |
| 394 def HasFailed(self): | 396 def HasFailed(self): |
| 395 execution_failed = self.test.DidFail(self.output) | 397 execution_failed = self.test.DidFail(self.output) |
| 396 if self.test.IsNegative(): | 398 if self.test.IsNegative(): |
| 397 return not execution_failed | 399 return not execution_failed |
| 398 else: | 400 else: |
| 399 return execution_failed | 401 return execution_failed |
| 400 | 402 |
| 401 | 403 |
| 402 def KillProcessWithID(pid): | 404 def KillProcessWithID(pid): |
| 403 if utils.IsWindows(): | 405 if utils.IsWindows(): |
| (...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1331 for entry in timed_tests[:20]: | 1333 for entry in timed_tests[:20]: |
| 1332 t = FormatTime(entry.duration) | 1334 t = FormatTime(entry.duration) |
| 1333 sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) | 1335 sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) |
| 1334 index += 1 | 1336 index += 1 |
| 1335 | 1337 |
| 1336 return result | 1338 return result |
| 1337 | 1339 |
| 1338 | 1340 |
| 1339 if __name__ == '__main__': | 1341 if __name__ == '__main__': |
| 1340 sys.exit(Main()) | 1342 sys.exit(Main()) |
| OLD | NEW |