| 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 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 pass | 372 pass |
| 373 | 373 |
| 374 def AfterRun(self, result): | 374 def AfterRun(self, result): |
| 375 pass | 375 pass |
| 376 | 376 |
| 377 def GetCustomFlags(self, mode): | 377 def GetCustomFlags(self, mode): |
| 378 return None | 378 return None |
| 379 | 379 |
| 380 def Run(self): | 380 def Run(self): |
| 381 self.BeforeRun() | 381 self.BeforeRun() |
| 382 result = "exception" | |
| 383 try: | 382 try: |
| 384 result = self.RunCommand(self.GetCommand()) | 383 result = self.RunCommand(self.GetCommand()) |
| 385 finally: | 384 finally: |
| 386 self.AfterRun(result) | 385 self.AfterRun(result) |
| 387 return result | 386 return result |
| 388 | 387 |
| 389 def Cleanup(self): | 388 def Cleanup(self): |
| 390 return | 389 return |
| 391 | 390 |
| 392 | 391 |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 | 576 |
| 578 def __init__(self, name): | 577 def __init__(self, name): |
| 579 self.name = name | 578 self.name = name |
| 580 | 579 |
| 581 def GetName(self): | 580 def GetName(self): |
| 582 return self.name | 581 return self.name |
| 583 | 582 |
| 584 | 583 |
| 585 # Use this to run several variants of the tests, e.g.: | 584 # Use this to run several variants of the tests, e.g.: |
| 586 # VARIANT_FLAGS = [[], ['--always_compact', '--noflush_code']] | 585 # VARIANT_FLAGS = [[], ['--always_compact', '--noflush_code']] |
| 587 VARIANT_FLAGS = [[], | 586 VARIANT_FLAGS = [[], ['--stress-opt', '--always-opt'], ['--nocrankshaft']] |
| 588 ['--stress-opt', '--always-opt'], | |
| 589 ['--nocrankshaft']] | |
| 590 | 587 |
| 591 | 588 |
| 592 class TestRepository(TestSuite): | 589 class TestRepository(TestSuite): |
| 593 | 590 |
| 594 def __init__(self, path): | 591 def __init__(self, path): |
| 595 normalized_path = abspath(path) | 592 normalized_path = abspath(path) |
| 596 super(TestRepository, self).__init__(basename(normalized_path)) | 593 super(TestRepository, self).__init__(basename(normalized_path)) |
| 597 self.path = normalized_path | 594 self.path = normalized_path |
| 598 self.is_loaded = False | 595 self.is_loaded = False |
| 599 self.config = None | 596 self.config = None |
| (...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1312 else: | 1309 else: |
| 1313 pos = value.find('@') | 1310 pos = value.find('@') |
| 1314 import urllib | 1311 import urllib |
| 1315 prefix = urllib.unquote(value[:pos]).split() | 1312 prefix = urllib.unquote(value[:pos]).split() |
| 1316 suffix = urllib.unquote(value[pos+1:]).split() | 1313 suffix = urllib.unquote(value[pos+1:]).split() |
| 1317 def ExpandCommand(args): | 1314 def ExpandCommand(args): |
| 1318 return prefix + args + suffix | 1315 return prefix + args + suffix |
| 1319 return ExpandCommand | 1316 return ExpandCommand |
| 1320 | 1317 |
| 1321 | 1318 |
| 1322 BUILT_IN_TESTS = ['mjsunit', 'cctest', 'message', 'preparser'] | 1319 BUILT_IN_TESTS = ['mjsunit', 'cctest', 'message'] |
| 1323 | 1320 |
| 1324 | 1321 |
| 1325 def GetSuites(test_root): | 1322 def GetSuites(test_root): |
| 1326 def IsSuite(path): | 1323 def IsSuite(path): |
| 1327 return isdir(path) and exists(join(path, 'testcfg.py')) | 1324 return isdir(path) and exists(join(path, 'testcfg.py')) |
| 1328 return [ f for f in os.listdir(test_root) if IsSuite(join(test_root, f)) ] | 1325 return [ f for f in os.listdir(test_root) if IsSuite(join(test_root, f)) ] |
| 1329 | 1326 |
| 1330 | 1327 |
| 1331 def FormatTime(d): | 1328 def FormatTime(d): |
| 1332 millis = round(d * 1000) % 1000 | 1329 millis = round(d * 1000) % 1000 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1405 root.GetTestStatus(context, sections, defs) | 1402 root.GetTestStatus(context, sections, defs) |
| 1406 config = Configuration(sections, defs) | 1403 config = Configuration(sections, defs) |
| 1407 | 1404 |
| 1408 # List the tests | 1405 # List the tests |
| 1409 all_cases = [ ] | 1406 all_cases = [ ] |
| 1410 all_unused = [ ] | 1407 all_unused = [ ] |
| 1411 unclassified_tests = [ ] | 1408 unclassified_tests = [ ] |
| 1412 globally_unused_rules = None | 1409 globally_unused_rules = None |
| 1413 for path in paths: | 1410 for path in paths: |
| 1414 for mode in options.mode: | 1411 for mode in options.mode: |
| 1412 if not exists(context.GetVm(mode)): |
| 1413 print "Can't find shell executable: '%s'" % context.GetVm(mode) |
| 1414 continue |
| 1415 env = { | 1415 env = { |
| 1416 'mode': mode, | 1416 'mode': mode, |
| 1417 'system': utils.GuessOS(), | 1417 'system': utils.GuessOS(), |
| 1418 'arch': options.arch, | 1418 'arch': options.arch, |
| 1419 'simulator': options.simulator, | 1419 'simulator': options.simulator, |
| 1420 'crankshaft': options.crankshaft | 1420 'crankshaft': options.crankshaft |
| 1421 } | 1421 } |
| 1422 test_list = root.ListTests([], path, context, mode, []) | 1422 test_list = root.ListTests([], path, context, mode, []) |
| 1423 unclassified_tests += test_list | 1423 unclassified_tests += test_list |
| 1424 (cases, unused_rules, all_outcomes) = config.ClassifyTests(test_list, env) | 1424 (cases, unused_rules, all_outcomes) = config.ClassifyTests(test_list, env) |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1481 for entry in timed_tests[:20]: | 1481 for entry in timed_tests[:20]: |
| 1482 t = FormatTime(entry.duration) | 1482 t = FormatTime(entry.duration) |
| 1483 sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) | 1483 sys.stderr.write("%4i (%s) %s\n" % (index, t, entry.GetLabel())) |
| 1484 index += 1 | 1484 index += 1 |
| 1485 | 1485 |
| 1486 return result | 1486 return result |
| 1487 | 1487 |
| 1488 | 1488 |
| 1489 if __name__ == '__main__': | 1489 if __name__ == '__main__': |
| 1490 sys.exit(Main()) | 1490 sys.exit(Main()) |
| OLD | NEW |