@@ -605,6 +605,17 @@ def setup_runtimelink_test(self):
605
605
'''
606
606
return (main , supp )
607
607
608
+ def filtered_js_engines (self , js_engines = None ):
609
+ if js_engines is None :
610
+ js_engines = JS_ENGINES
611
+ for engine in js_engines : assert type (engine ) == list
612
+ for engine in self .banned_js_engines : assert type (engine ) == list
613
+ js_engines = filter (lambda engine : engine [0 ] not in map (lambda engine : engine [0 ], self .banned_js_engines ), js_engines )
614
+ if 'BINARYEN_METHOD="native-wasm"' in self .emcc_args :
615
+ # when testing native wasm support, must use a vm with support
616
+ js_engines = filter (lambda engine : engine == SPIDERMONKEY_ENGINE or engine == V8_ENGINE , js_engines )
617
+ return js_engines
618
+
608
619
def do_run_from_file (self , src , expected_output , args = [], output_nicerizer = None , output_processor = None , no_build = False , main_file = None , additional_files = [], js_engines = None , post_build = None , basename = 'src.cpp' , libraries = [], includes = [], force_c = False , build_ll_hook = None , extra_emscripten_args = []):
609
620
self .do_run (open (src ).read (), open (expected_output ).read (),
610
621
args , output_nicerizer , output_processor , no_build , main_file ,
@@ -626,14 +637,7 @@ def do_run(self, src, expected_output, args=[], output_nicerizer=None, output_pr
626
637
build_ll_hook = build_ll_hook , extra_emscripten_args = extra_emscripten_args , post_build = post_build )
627
638
628
639
# Run in both JavaScript engines, if optimizing - significant differences there (typed arrays)
629
- if js_engines is None :
630
- js_engines = JS_ENGINES
631
- for engine in js_engines : assert type (engine ) == list
632
- for engine in self .banned_js_engines : assert type (engine ) == list
633
- js_engines = filter (lambda engine : engine [0 ] not in map (lambda engine : engine [0 ], self .banned_js_engines ), js_engines )
634
- if 'BINARYEN_METHOD="native-wasm"' in self .emcc_args :
635
- # when testing native wasm support, must use a vm with support
636
- js_engines = filter (lambda engine : engine == SPIDERMONKEY_ENGINE or engine == V8_ENGINE , js_engines )
640
+ js_engines = self .filtered_js_engines (js_engines )
637
641
if len (js_engines ) == 0 : return self .skip ('No JS engine present to run this test with. Check %s and the paths therein.' % EM_CONFIG )
638
642
if len (js_engines ) > 1 and not self .use_all_engines :
639
643
if SPIDERMONKEY_ENGINE in js_engines : # make sure to get asm.js validation checks, using sm
0 commit comments