| 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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 156     for failed in self.failed: | 156     for failed in self.failed: | 
| 157       self.PrintFailureHeader(failed.test) | 157       self.PrintFailureHeader(failed.test) | 
| 158       if failed.output.stderr: | 158       if failed.output.stderr: | 
| 159         print "--- stderr ---" | 159         print "--- stderr ---" | 
| 160         print failed.output.stderr.strip() | 160         print failed.output.stderr.strip() | 
| 161       if failed.output.stdout: | 161       if failed.output.stdout: | 
| 162         print "--- stdout ---" | 162         print "--- stdout ---" | 
| 163         print failed.output.stdout.strip() | 163         print failed.output.stdout.strip() | 
| 164       print "Command: %s" % EscapeCommand(failed.command) | 164       print "Command: %s" % EscapeCommand(failed.command) | 
| 165       if failed.HasCrashed(): | 165       if failed.HasCrashed(): | 
| 166         print "--- CRASHED ---" | 166         print "--- CRASHED ---" | 
| 167     if len(self.failed) == 0: | 167     if len(self.failed) == 0: | 
| 168       print "===" | 168       print "===" | 
| 169       print "=== All tests succeeded" | 169       print "=== All tests succeeded" | 
| 170       print "===" | 170       print "===" | 
| 171     else: | 171     else: | 
| 172       print | 172       print | 
| 173       print "===" | 173       print "===" | 
| 174       print "=== %i tests failed" % len(self.failed) | 174       print "=== %i tests failed" % len(self.failed) | 
| 175       if self.crashed > 0: | 175       if self.crashed > 0: | 
| 176         print "=== %i tests CRASHED" % self.crashed | 176         print "=== %i tests CRASHED" % self.crashed | 
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 237       self.ClearLine(self.last_status_length) | 237       self.ClearLine(self.last_status_length) | 
| 238       self.PrintFailureHeader(output.test) | 238       self.PrintFailureHeader(output.test) | 
| 239       stdout = output.output.stdout.strip() | 239       stdout = output.output.stdout.strip() | 
| 240       if len(stdout): | 240       if len(stdout): | 
| 241         print self.templates['stdout'] % stdout | 241         print self.templates['stdout'] % stdout | 
| 242       stderr = output.output.stderr.strip() | 242       stderr = output.output.stderr.strip() | 
| 243       if len(stderr): | 243       if len(stderr): | 
| 244         print self.templates['stderr'] % stderr | 244         print self.templates['stderr'] % stderr | 
| 245       print "Command: %s" % EscapeCommand(output.command) | 245       print "Command: %s" % EscapeCommand(output.command) | 
| 246       if output.HasCrashed(): | 246       if output.HasCrashed(): | 
| 247         print "--- CRASHED ---" | 247         print "--- CRASHED ---" | 
| 248 | 248 | 
| 249   def Truncate(self, str, length): | 249   def Truncate(self, str, length): | 
| 250     if length and (len(str) > (length - 3)): | 250     if length and (len(str) > (length - 3)): | 
| 251       return str[:(length-3)] + "..." | 251       return str[:(length-3)] + "..." | 
| 252     else: | 252     else: | 
| 253       return str | 253       return str | 
| 254 | 254 | 
| 255   def PrintProgress(self, name): | 255   def PrintProgress(self, name): | 
| 256     self.ClearLine(self.last_status_length) | 256     self.ClearLine(self.last_status_length) | 
| 257     elapsed = time.time() - self.start_time | 257     elapsed = time.time() - self.start_time | 
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 338   def DidFail(self, output): | 338   def DidFail(self, output): | 
| 339     if self.failed is None: | 339     if self.failed is None: | 
| 340       self.failed = self.IsFailureOutput(output) | 340       self.failed = self.IsFailureOutput(output) | 
| 341     return self.failed | 341     return self.failed | 
| 342 | 342 | 
| 343   def IsFailureOutput(self, output): | 343   def IsFailureOutput(self, output): | 
| 344     return output.exit_code != 0 | 344     return output.exit_code != 0 | 
| 345 | 345 | 
| 346   def GetSource(self): | 346   def GetSource(self): | 
| 347     return "(no source available)" | 347     return "(no source available)" | 
| 348 | 348 | 
| 349   def RunCommand(self, command): | 349   def RunCommand(self, command): | 
| 350     full_command = self.context.processor(command) | 350     full_command = self.context.processor(command) | 
| 351     output = Execute(full_command, self.context, self.context.timeout) | 351     output = Execute(full_command, self.context, self.context.timeout) | 
| 352     return TestOutput(self, full_command, output) | 352     return TestOutput(self, full_command, output) | 
| 353 | 353 | 
| 354   def Run(self): | 354   def Run(self): | 
| 355     return self.RunCommand(self.GetCommand()) | 355     return self.RunCommand(self.GetCommand()) | 
| 356 | 356 | 
| 357 | 357 | 
| 358 class TestOutput(object): | 358 class TestOutput(object): | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 404 SEM_NOGPFAULTERRORBOX = 0x0002 # Microsoft Platform SDK WinBase.h | 404 SEM_NOGPFAULTERRORBOX = 0x0002 # Microsoft Platform SDK WinBase.h | 
| 405 | 405 | 
| 406 def Win32SetErrorMode(mode): | 406 def Win32SetErrorMode(mode): | 
| 407   prev_error_mode = SEM_INVALID_VALUE | 407   prev_error_mode = SEM_INVALID_VALUE | 
| 408   try: | 408   try: | 
| 409     import ctypes | 409     import ctypes | 
| 410     prev_error_mode = ctypes.windll.kernel32.SetErrorMode(mode); | 410     prev_error_mode = ctypes.windll.kernel32.SetErrorMode(mode); | 
| 411   except ImportError: | 411   except ImportError: | 
| 412     pass | 412     pass | 
| 413   return prev_error_mode | 413   return prev_error_mode | 
| 414 | 414 | 
| 415 def RunProcess(context, timeout, args, **rest): | 415 def RunProcess(context, timeout, args, **rest): | 
| 416   if context.verbose: print "#", " ".join(args) | 416   if context.verbose: print "#", " ".join(args) | 
| 417   popen_args = args | 417   popen_args = args | 
| 418   prev_error_mode = SEM_INVALID_VALUE; | 418   prev_error_mode = SEM_INVALID_VALUE; | 
| 419   if utils.IsWindows(): | 419   if utils.IsWindows(): | 
| 420     popen_args = '"' + subprocess.list2cmdline(args) + '"' | 420     popen_args = '"' + subprocess.list2cmdline(args) + '"' | 
| 421     if context.suppress_dialogs: | 421     if context.suppress_dialogs: | 
| 422       # Try to change the error mode to avoid dialogs on fatal errors. Don't | 422       # Try to change the error mode to avoid dialogs on fatal errors. Don't | 
| 423       # touch any existing error mode flags by merging the existing error mode. | 423       # touch any existing error mode flags by merging the existing error mode. | 
| 424       # See http://blogs.msdn.com/oldnewthing/archive/2004/07/27/198410.aspx. | 424       # See http://blogs.msdn.com/oldnewthing/archive/2004/07/27/198410.aspx. | 
| (...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1319     for entry in timed_tests[:20]: | 1319     for entry in timed_tests[:20]: | 
| 1320       t = FormatTime(entry.duration) | 1320       t = FormatTime(entry.duration) | 
| 1321       sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) | 1321       sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) | 
| 1322       index += 1 | 1322       index += 1 | 
| 1323 | 1323 | 
| 1324   return result | 1324   return result | 
| 1325 | 1325 | 
| 1326 | 1326 | 
| 1327 if __name__ == '__main__': | 1327 if __name__ == '__main__': | 
| 1328   sys.exit(Main()) | 1328   sys.exit(Main()) | 
| OLD | NEW | 
|---|