| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 # Copyright 2014 the V8 project authors. All rights reserved. | 2 # Copyright 2014 the V8 project authors. All rights reserved. | 
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be | 
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. | 
| 5 | 5 | 
| 6 import itertools | 6 import itertools | 
| 7 import js2c | 7 import js2c | 
| 8 import multiprocessing | 8 import multiprocessing | 
| 9 import optparse | 9 import optparse | 
| 10 import os | 10 import os | 
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 241   "InternalNumberParse": [_NUMBER_FORMAT, None, None], | 241   "InternalNumberParse": [_NUMBER_FORMAT, None, None], | 
| 242   "IsSloppyModeFunction": ["function() {}", None], | 242   "IsSloppyModeFunction": ["function() {}", None], | 
| 243   "LoadMutableDouble": ["{foo: 1.2}", None, None], | 243   "LoadMutableDouble": ["{foo: 1.2}", None, None], | 
| 244   "NewObjectFromBound": ["(function() {}).bind({})", None], | 244   "NewObjectFromBound": ["(function() {}).bind({})", None], | 
| 245   "NumberToRadixString": [None, "2", None], | 245   "NumberToRadixString": [None, "2", None], | 
| 246   "ParseJson": ["\"{}\"", 1], | 246   "ParseJson": ["\"{}\"", 1], | 
| 247   "RegExpExecMultiple": [None, None, "['a']", "['a']", None], | 247   "RegExpExecMultiple": [None, None, "['a']", "['a']", None], | 
| 248   "DefineApiAccessorProperty": [None, None, "undefined", "undefined", None, None
      ], | 248   "DefineApiAccessorProperty": [None, None, "undefined", "undefined", None, None
      ], | 
| 249   "SetIteratorInitialize": [None, None, "2", None], | 249   "SetIteratorInitialize": [None, None, "2", None], | 
| 250   "SetDebugEventListener": ["undefined", None, None], | 250   "SetDebugEventListener": ["undefined", None, None], | 
| 251   "SetFunctionBreakPoint": [None, 200, None, None], | 251   "SetFunctionBreakPoint": [None, 218, None, None], | 
| 252   "StringBuilderConcat": ["[1, 2, 3]", 3, None, None], | 252   "StringBuilderConcat": ["[1, 2, 3]", 3, None, None], | 
| 253   "StringBuilderJoin": ["['a', 'b']", 4, None, None], | 253   "StringBuilderJoin": ["['a', 'b']", 4, None, None], | 
| 254   "StringMatch": [None, None, "['a', 'b']", None], | 254   "StringMatch": [None, None, "['a', 'b']", None], | 
| 255   "StringNormalize": [None, 2, None], | 255   "StringNormalize": [None, 2, None], | 
| 256   "StringReplaceGlobalRegExpWithString": [None, None, None, "['a']", None], | 256   "StringReplaceGlobalRegExpWithString": [None, None, None, "['a']", None], | 
| 257   "TypedArrayInitialize": [None, 6, "new ArrayBuffer(8)", None, 4, None], | 257   "TypedArrayInitialize": [None, 6, "new ArrayBuffer(8)", None, 4, None], | 
| 258   "TypedArrayInitializeFromArrayLike": [None, 6, None, None, None], | 258   "TypedArrayInitializeFromArrayLike": [None, 6, None, None, None], | 
| 259   "TypedArraySetFastCases": [None, None, "0", None], | 259   "TypedArraySetFastCases": [None, None, "0", None], | 
| 260   "FunctionIsArrow": ["() => null", None], | 260   "FunctionIsArrow": ["() => null", None], | 
| 261 } | 261 } | 
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1125       arg = function.args[i] | 1125       arg = function.args[i] | 
| 1126       name = arg.name | 1126       name = arg.name | 
| 1127       definitions += generator.RandomVariable(name, arg.type, simple=True) | 1127       definitions += generator.RandomVariable(name, arg.type, simple=True) | 
| 1128     argslist.append(name) | 1128     argslist.append(name) | 
| 1129   return (definitions, argslist) | 1129   return (definitions, argslist) | 
| 1130 | 1130 | 
| 1131 | 1131 | 
| 1132 def _GenerateTestcase(function, definitions, argslist, throws): | 1132 def _GenerateTestcase(function, definitions, argslist, throws): | 
| 1133   s = ["// Copyright 2014 the V8 project authors. All rights reserved.", | 1133   s = ["// Copyright 2014 the V8 project authors. All rights reserved.", | 
| 1134        "// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY", | 1134        "// AUTO-GENERATED BY tools/generate-runtime-tests.py, DO NOT MODIFY", | 
| 1135        "// Flags: --allow-natives-syntax --harmony"] + definitions | 1135        "// Flags: --allow-natives-syntax --harmony --harmony-proxies" | 
|  | 1136       ] + definitions | 
| 1136   call = "%%%s%s(%s);" % (function.inline, function.name, ", ".join(argslist)) | 1137   call = "%%%s%s(%s);" % (function.inline, function.name, ", ".join(argslist)) | 
| 1137   if throws: | 1138   if throws: | 
| 1138     s.append("try {") | 1139     s.append("try {") | 
| 1139     s.append(call); | 1140     s.append(call); | 
| 1140     s.append("} catch(e) {}") | 1141     s.append("} catch(e) {}") | 
| 1141   else: | 1142   else: | 
| 1142     s.append(call) | 1143     s.append(call) | 
| 1143   testcase = "\n".join(s) | 1144   testcase = "\n".join(s) | 
| 1144   return testcase | 1145   return testcase | 
| 1145 | 1146 | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1205         argname = "arg%d%s" % (i, arg.name) | 1206         argname = "arg%d%s" % (i, arg.name) | 
| 1206         args.append(argname) | 1207         args.append(argname) | 
| 1207         definitions += gen.RandomVariable(argname, arg.type, simple=False) | 1208         definitions += gen.RandomVariable(argname, arg.type, simple=False) | 
| 1208       testcase = _GenerateTestcase(function, definitions, args, True) | 1209       testcase = _GenerateTestcase(function, definitions, args, True) | 
| 1209       with open(test_file_name, "w") as f: | 1210       with open(test_file_name, "w") as f: | 
| 1210         f.write("%s\n" % testcase) | 1211         f.write("%s\n" % testcase) | 
| 1211       with open("/dev/null", "w") as devnull: | 1212       with open("/dev/null", "w") as devnull: | 
| 1212         with open(stderr_file_name, "w") as stderr: | 1213         with open(stderr_file_name, "w") as stderr: | 
| 1213           process = subprocess.Popen( | 1214           process = subprocess.Popen( | 
| 1214               [options.binary, "--allow-natives-syntax", "--harmony", | 1215               [options.binary, "--allow-natives-syntax", "--harmony", | 
| 1215                "--enable-slow-asserts", test_file_name], | 1216                "--harmony-proxies", "--enable-slow-asserts", test_file_name], | 
| 1216               stdout=devnull, stderr=stderr) | 1217               stdout=devnull, stderr=stderr) | 
| 1217           end_time = time.time() + options.timeout | 1218           end_time = time.time() + options.timeout | 
| 1218           timed_out = False | 1219           timed_out = False | 
| 1219           exit_code = None | 1220           exit_code = None | 
| 1220           sleep_time = INITIAL_SLEEP_TIME | 1221           sleep_time = INITIAL_SLEEP_TIME | 
| 1221           while exit_code is None: | 1222           while exit_code is None: | 
| 1222             if time.time() >= end_time: | 1223             if time.time() >= end_time: | 
| 1223               # Kill the process and wait for it to exit. | 1224               # Kill the process and wait for it to exit. | 
| 1224               os.kill(process.pid, signal.SIGTERM) | 1225               os.kill(process.pid, signal.SIGTERM) | 
| 1225               exit_code = process.wait() | 1226               exit_code = process.wait() | 
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1401       for i in range(len(processes)): | 1402       for i in range(len(processes)): | 
| 1402         processes[i].join() | 1403         processes[i].join() | 
| 1403     except KeyboardInterrupt: | 1404     except KeyboardInterrupt: | 
| 1404       stop_running.set() | 1405       stop_running.set() | 
| 1405       for i in range(len(processes)): | 1406       for i in range(len(processes)): | 
| 1406         processes[i].join() | 1407         processes[i].join() | 
| 1407     return 0 | 1408     return 0 | 
| 1408 | 1409 | 
| 1409 if __name__ == "__main__": | 1410 if __name__ == "__main__": | 
| 1410   sys.exit(Main()) | 1411   sys.exit(Main()) | 
| OLD | NEW | 
|---|