Skip to content

Commit 25fe6b8

Browse files
ksh8281clover2123
authored andcommitted
Update spec file and run-test tool
Signed-off-by: Seonghyun Kim <[email protected]>
1 parent 5d5e89f commit 25fe6b8

File tree

3 files changed

+45
-35
lines changed

3 files changed

+45
-35
lines changed

.github/workflows/es-actions.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ jobs:
151151
# run: |
152152
# set GC_FREE_SPACE_DIVISOR=1
153153
# pip install chardet
154-
# python tools\run-tests.py --engine=%cd%\out\escargot.exe test262 --extra-arg="--skip Temporal --skip intl402 --skip Atomics"
154+
# python tools\run-tests.py --engine=%cd%\out\escargot.exe test262 --test262-extra-arg="--skip Temporal --skip intl402 --skip Atomics"
155155
# shell: cmd
156156
- if: ${{ failure() }}
157157
uses: mxschmitt/action-tmate@v3
@@ -198,7 +198,7 @@ jobs:
198198
run: |
199199
set GC_FREE_SPACE_DIVISOR=1
200200
pip install chardet
201-
python tools\run-tests.py --engine=%cd%\out\escargot.exe test262 --extra-arg="--skip Temporal --skip intl402 --skip Atomics"
201+
python tools\run-tests.py --engine=%cd%\out\escargot.exe test262 --test262-extra-arg="--skip Temporal --skip intl402 --skip Atomics"
202202
shell: cmd
203203
- name: Run octane
204204
run: |
@@ -396,7 +396,7 @@ jobs:
396396
cmake --build ./out/
397397
- name: Test
398398
run: |
399-
GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --extra-arg="--skip intl402" new-es v8 spidermonkey chakracore test262
399+
GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --test262-extra-arg="--skip intl402" new-es v8 spidermonkey chakracore test262
400400
401401
build-test-on-self-hosted-arm64-linux:
402402
runs-on: [self-hosted, linux, arm64]
@@ -411,7 +411,7 @@ jobs:
411411
cmake --build ./out/
412412
- name: Test
413413
run: |
414-
GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --extra-arg="--skip intl402" test262 chakracore spidermonkey v8 new-es
414+
GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --test262-extra-arg="--skip intl402" test262 chakracore spidermonkey v8 new-es
415415
416416
build-test-debugger:
417417
runs-on: ubuntu-latest

packaging/escargot.spec

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ cmake --build build/out_tizen_%{rpm}
272272
CXXFLAGS+=' -DESCARGOT_ENABLE_TEST '
273273
%endif
274274

275-
g++ src/shell/Shell.cpp -std=c++11 -Lbuild/out_tizen_%{rpm} -Isrc/ -Ithird_party/GCutil -Ithird_party/GCutil/bdwgc/include -o build/out_tizen_%{rpm}/escargot -O2 -DNDEBUG -Wl,-rpath=\$ORIGIN ${CXXFLAGS} -lescargot -lpthread
275+
g++ src/shell/Shell.cpp -std=c++11 -Lbuild/out_tizen_%{rpm} -Isrc/ -Ithird_party/GCutil -Ithird_party/GCutil/bdwgc/include -o build/out_tizen_%{rpm}/escargot -O2 -DNDEBUG -Wl,-rpath=\$ORIGIN -Wl,-rpath=%{_libdir}/escargot ${CXXFLAGS} -lescargot -lpthread
276276
g++ tools/test/test-data-runner/test-data-runner.cpp -o build/out_tizen_%{rpm}/test-data-runner -std=c++11 ${CXXFLAGS} -lpthread
277277
%endif
278278

tools/run-tests.py

+40-30
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ def run_test262(engine, arch, extra_arg):
187187
args = ['python3', join('tools', 'packaging', 'test262.py'),
188188
'--command', engine,
189189
'--summary']
190-
if len(extra_arg):
191-
args.extend(extra_arg.split(" "))
190+
if len(extra_arg["test262_extra_arg"]):
191+
args.extend(extra_arg["test262_extra_arg"].split(" "))
192192
stdout = run(args,
193193
cwd=TEST262_DIR,
194194
env={'TZ': 'US/Pacific'},
@@ -209,8 +209,8 @@ def run_test262_strict(engine, arch, extra_arg):
209209
'--command', engine,
210210
'--full-summary',
211211
'--strict_only'],
212-
if len(extra_arg):
213-
args.extend(extra_arg.split(" "))
212+
if len(extra_arg["test262_extra_arg"]):
213+
args.extend(extra_arg["test262_extra_arg"].split(" "))
214214
run(args,
215215
cwd=TEST262_DIR,
216216
env={'TZ': 'US/Pacific'},
@@ -239,8 +239,8 @@ def run_test262_nonstrict(engine, arch, extra_arg):
239239
'--command', engine,
240240
'--full-summary',
241241
'--non_strict_only'],
242-
if len(extra_arg):
243-
args.extend(extra_arg.split(" "))
242+
if len(extra_arg["test262_extra_arg"]):
243+
args.extend(extra_arg["test262_extra_arg"].split(" "))
244244
run(args,
245245
cwd=TEST262_DIR,
246246
env={'TZ': 'US/Pacific'},
@@ -258,10 +258,12 @@ def run_test262_nonstrict(engine, arch, extra_arg):
258258

259259
print('test262-nonstrict: All tests passed')
260260

261-
def compile_test_data_runner():
261+
def compile_test_data_runner(extra_arg):
262+
if extra_arg["skip_build_test_data_runner"]:
263+
return
262264
run(['g++', "./tools/test/test-data-runner/test-data-runner.cpp", "-o", "./tools/test/test-data-runner/test-data-runner", "-g3", "-std=c++11", "-lpthread"],
263-
cwd=PROJECT_SOURCE_DIR,
264-
stdout=PIPE)
265+
cwd=PROJECT_SOURCE_DIR,
266+
stdout=PIPE)
265267

266268
@runner('test262-dump', default=False)
267269
def run_test262_dump(engine, arch, extra_arg):
@@ -271,8 +273,8 @@ def run_test262_dump(engine, arch, extra_arg):
271273
args = ['python3', join('tools', 'packaging', 'test262.py'),
272274
'--command', engine,
273275
'--summary']
274-
if len(extra_arg):
275-
args.extend(extra_arg.split(" "))
276+
if len(extra_arg["test262_extra_arg"]):
277+
args.extend(extra_arg["test262_extra_arg"].split(" "))
276278
stdout = run(args,
277279
cwd=TEST262_DIR,
278280
env={'TZ': 'US/Pacific', 'ESCARGOT_DUMP262DATA': '1'},
@@ -285,9 +287,9 @@ def run_test262_dump(engine, arch, extra_arg):
285287

286288
@runner('test262-dump-run', default=False)
287289
def run_test262_dump_run(engine, arch, extra_arg):
288-
compile_test_data_runner()
290+
compile_test_data_runner(extra_arg)
289291

290-
stdout = run([PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner', "--shell", engine,
292+
stdout = run([extra_arg["test_data_runner_path"], "--shell", engine,
291293
"--test", "test262", "--test-data", join(PROJECT_SOURCE_DIR, 'test', 'test262', 'test262_data')],
292294
cwd=join(PROJECT_SOURCE_DIR, 'test', 'test262'),
293295
stdout=PIPE)
@@ -358,10 +360,10 @@ def run_spidermonkey_dump(engine, arch, extra_arg):
358360

359361
@runner('spidermonkey-dump-run', default=False)
360362
def run_spidermonkey_dump_run(engine, arch, extra_arg):
361-
compile_test_data_runner()
363+
compile_test_data_runner(extra_arg)
362364

363365
SPIDERMONKEY_OVERRIDE_DIR = join(PROJECT_SOURCE_DIR, 'tools', 'test', 'spidermonkey')
364-
stdout = run(['./tools/test/test-data-runner/test-data-runner', '--test-data', join(SPIDERMONKEY_OVERRIDE_DIR, '%s.data.txt' % arch),
366+
stdout = run([extra_arg["test_data_runner_path"], '--test-data', join(SPIDERMONKEY_OVERRIDE_DIR, '%s.data.txt' % arch),
365367
"--shell", engine, "--env", "LOCALE=en_US"],
366368
cwd=PROJECT_SOURCE_DIR,
367369
stdout=PIPE)
@@ -407,9 +409,9 @@ def run_jsc_stress_dump_run(engine, arch, extra_arg):
407409
JSC_DIR = join('test', 'vendortest', 'driver')
408410
data_path = join(JSC_DIR, 'jsc.stress.%s.data.txt' % arch)
409411

410-
compile_test_data_runner()
412+
compile_test_data_runner(extra_arg)
411413

412-
stdout = run([PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner', "--shell", engine,
414+
stdout = run([extra_arg["test_data_runner_path"], "--shell", engine,
413415
"--test-data", data_path, "--env", "GC_FREE_SPACE_DIVISOR=1"],
414416
cwd=PROJECT_SOURCE_DIR,
415417
stdout=PIPE)
@@ -578,10 +580,10 @@ def run_chakracore_dump(engine, arch, extra_arg):
578580

579581
@runner('chakracore-dump-run', default=False)
580582
def run_chakracore_dump_run(engine, arch, extra_arg):
581-
compile_test_data_runner()
583+
compile_test_data_runner(extra_arg)
582584

583585
CHAKRACORE_OVERRIDE_DIR = join(PROJECT_SOURCE_DIR, 'tools', 'test', 'chakracore')
584-
stdout = run([PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner', "--shell", engine,
586+
stdout = run([extra_arg["test_data_runner_path"], "--shell", engine,
585587
"--test-data", join(CHAKRACORE_OVERRIDE_DIR, 'chakracore.%s.data.txt' % arch),
586588
"--env", "GC_FREE_SPACE_DIVISOR=1 TZ=US/Pacific",
587589
"--treat-global-tostring-as-object"],
@@ -644,7 +646,7 @@ def run_v8(engine, arch, extra_arg):
644646

645647
@runner('v8-dump', default=False)
646648
def run_v8_dump(engine, arch, extra_arg):
647-
stdout = run_v8(engine, arch)
649+
stdout = run_v8(engine, arch, extra_arg)
648650
stdout = stdout.decode("utf-8").split("\n")
649651

650652
TOOL_V8_DIR = join(PROJECT_SOURCE_DIR, 'tools', 'test', 'v8')
@@ -674,10 +676,10 @@ def run_v8_dump(engine, arch, extra_arg):
674676

675677
@runner('v8-dump-run', default=False)
676678
def run_v8_dump_run(engine, arch, extra_arg):
677-
compile_test_data_runner()
679+
compile_test_data_runner(extra_arg)
678680

679681
TOOL_V8_DIR = join(PROJECT_SOURCE_DIR, 'tools', 'test', 'v8')
680-
stdout = run([PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner', "--shell", engine,
682+
stdout = run([extra_arg["test_data_runner_path"], "--shell", engine,
681683
"--test-data", join(TOOL_V8_DIR, '%s.data.txt' % arch), "--env", "GC_FREE_SPACE_DIVISOR=1"],
682684
cwd=join(PROJECT_SOURCE_DIR),
683685
stdout=PIPE)
@@ -786,9 +788,9 @@ def run_escargot_test_dump(engine, arch, extra_arg):
786788

787789
@runner('escargot-test-dump-run', default=False)
788790
def run_escargot_test_dump_run(engine, arch, extra_arg):
789-
compile_test_data_runner()
791+
compile_test_data_runner(extra_arg)
790792

791-
stdout = run([PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner', "--shell", engine,
793+
stdout = run([extra_arg["test_data_runner_path"], "--shell", engine,
792794
"--test-data", join(PROJECT_SOURCE_DIR, 'test', 'vendortest', 'Escargot', 'data.txt')],
793795
cwd=join(PROJECT_SOURCE_DIR),
794796
stdout=PIPE)
@@ -948,22 +950,26 @@ def run_web_tooling_benchmark(engine, arch, extra_arg):
948950
def run_dump_all(engine, arch, extra_arg):
949951
for test in RUNNERS:
950952
if test.endswith("-dump"):
951-
RUNNERS[test](engine, arch)
953+
RUNNERS[test](engine, arch, extra_arg)
952954

953955
@runner('dump-run-all', default=False)
954956
def run_dump_run_all(engine, arch, extra_arg):
955957
for test in RUNNERS:
956958
if test.endswith("-dump-run"):
957-
RUNNERS[test](engine, arch)
959+
RUNNERS[test](engine, arch, extra_arg)
958960

959961
def main():
960962
parser = ArgumentParser(description='Escargot Test Suite Runner')
961963
parser.add_argument('--engine', metavar='PATH', default=DEFAULT_ESCARGOT,
962964
help='path to the engine to be tested (default: %(default)s)')
963965
parser.add_argument('--arch', metavar='NAME', choices=['x86', 'x86_64'], default='x86_64',
964966
help='architecture the engine was built for (%(choices)s; default: %(default)s)')
965-
parser.add_argument('--extra-arg', default='',
966-
help='extra argument variable to drivers')
967+
parser.add_argument('--test262-extra-arg', default='',
968+
help='extra argument variable to test262')
969+
parser.add_argument('--test-data-runner-path', metavar='PATH', default=(PROJECT_SOURCE_DIR + '/tools/test/test-data-runner/test-data-runner'),
970+
help='test-data-runner executable path')
971+
parser.add_argument('--skip-build-test-data-runner', default=False, action="store_true",
972+
help='Skip build test-data-runner executable')
967973
parser.add_argument('suite', metavar='SUITE', nargs='*', default=sorted(DEFAULT_RUNNERS),
968974
help='test suite to run (%s; default: %s)' % (', '.join(sorted(RUNNERS.keys())), ' '.join(sorted(DEFAULT_RUNNERS))))
969975
args = parser.parse_args()
@@ -973,11 +979,15 @@ def main():
973979
parser.error('invalid test suite: %s' % suite)
974980

975981
success, fail = [], []
976-
982+
extra_arg = {
983+
'test262_extra_arg' : args.test262_extra_arg,
984+
'skip_build_test_data_runner' : args.skip_build_test_data_runner,
985+
'test_data_runner_path' : args.test_data_runner_path
986+
}
977987
for suite in args.suite:
978988
print(COLOR_PURPLE + 'running test suite: ' + suite + COLOR_RESET)
979989
try:
980-
RUNNERS[suite](args.engine, args.arch, args.extra_arg)
990+
RUNNERS[suite](args.engine, args.arch, extra_arg)
981991
success += [suite]
982992
except Exception as e:
983993
print('\n'.join(COLOR_YELLOW + line + COLOR_RESET for line in traceback.format_exc().splitlines()))

0 commit comments

Comments
 (0)