|
14 | 14 | import sqlite3 as db
|
15 | 15 | import time
|
16 | 16 | import re
|
| 17 | +import tempfile |
17 | 18 |
|
18 | 19 |
|
19 | 20 | # Our command-line interface
|
@@ -104,6 +105,10 @@ def __init__(self,filename,result,stdout,stderr):
|
104 | 105 | if args.spidermonkey:
|
105 | 106 | self.fail_code = 3
|
106 | 107 |
|
| 108 | + print('=========='*10) |
| 109 | + print(repr(result)) |
| 110 | + print(repr(stdout)) |
| 111 | + print(repr(stderr)) |
107 | 112 | self.filename = filename
|
108 | 113 | self.testname = os.path.basename(filename)
|
109 | 114 | self.result = result
|
@@ -412,10 +417,22 @@ def jsRefArgBuilder(filename):
|
412 | 417 | test_runner = lambda filename : [args.interp_path, filename]
|
413 | 418 | elif args.lambdaS5:
|
414 | 419 | current_dir = os.getcwd()
|
415 |
| - setup = lambda : os.chdir(os.path.dirname(args.interp_path)) |
| 420 | + interp_path = os.path.abspath(args.interp_path) |
| 421 | + def setup(): |
| 422 | + os.chdir(os.path.dirname(args.interp_path)) |
| 423 | + init_heap = tempfile.NamedTemporaryFile('w', prefix='init-', suffix='.heap') |
| 424 | + with tempfile.NamedTemporaryFile('w', prefix='snapshot', suffix='.ljs') as fd: |
| 425 | + fd.write('___takeS5Snapshot()') |
| 426 | + fd.seek(0) |
| 427 | + print('Building LambdaS5\'s heap file...') |
| 428 | + subprocess.call([os.path.join(os.path.dirname(interp_path), '..', 'tests', 's5'), |
| 429 | + fd.name, '-eval-s5', '-save', init_heap.name]) |
| 430 | + print('done.') |
416 | 431 | teardown = lambda : os.chdir(current_dir)
|
417 |
| - test_runner = lambda filename: [os.path.abspath(args.interp_path), |
418 |
| - filename] |
| 432 | + test_runner = lambda filename: [interp_path, |
| 433 | + '-load', init_heap.name, |
| 434 | + '-desugar', filename, |
| 435 | + '-continue-s5-eval'] |
419 | 436 | else:
|
420 | 437 | test_runner = jsRefArgBuilder
|
421 | 438 |
|
|
0 commit comments