@@ -55,6 +55,13 @@ def is_split_memory(self):
55
55
def is_wasm (self ):
56
56
return 'BINARYEN' in str (self .emcc_args ) or self .is_wasm_backend ()
57
57
58
+ # Use closure in some tests for some additional coverage
59
+ def maybe_closure (self ):
60
+ if '-O2' in self .emcc_args or '-Os' in self .emcc_args :
61
+ self .emcc_args += ['--closure' , '1' ]
62
+ return True
63
+ return False
64
+
58
65
def do_run_in_out_file_test (self , * path , ** kwargs ):
59
66
test_path = path_from_root (* path )
60
67
@@ -882,8 +889,7 @@ def test_exceptions(self):
882
889
Settings .EXCEPTION_DEBUG = 1
883
890
884
891
Settings .DISABLE_EXCEPTION_CATCHING = 0
885
- if '-O2' in self .emcc_args :
886
- self .emcc_args += ['--closure' , '1' ] # Use closure here for some additional coverage
892
+ self .maybe_closure ()
887
893
888
894
src = '''
889
895
#include <stdio.h>
@@ -4089,8 +4095,7 @@ def test_langinfo(self):
4089
4095
4090
4096
def test_files (self ):
4091
4097
self .banned_js_engines = [SPIDERMONKEY_ENGINE ] # closure can generate variables called 'gc', which pick up js shell stuff
4092
- if '-O2' in self .emcc_args :
4093
- self .emcc_args += ['--closure' , '1' ] # Use closure here, to test we don't break FS stuff
4098
+ if self .maybe_closure (): # Use closure here, to test we don't break FS stuff
4094
4099
self .emcc_args = [x for x in self .emcc_args if x != '-g' ] # ensure we test --closure 1 --memory-init-file 1 (-g would disable closure)
4095
4100
elif '-O3' in self .emcc_args and not self .is_wasm ():
4096
4101
print ('closure 2' )
@@ -5107,8 +5112,7 @@ def test_sse1(self):
5107
5112
orig_args = self .emcc_args
5108
5113
for mode in [[], ['-s' , 'SIMD=1' ]]:
5109
5114
self .emcc_args = orig_args + mode + ['-msse' ]
5110
- if '-O2' in self .emcc_args :
5111
- self .emcc_args += ['--closure' , '1' ] # Use closure here for some additional coverage
5115
+ self .maybe_closure ()
5112
5116
5113
5117
self .do_run (open (path_from_root ('tests' , 'test_sse1.cpp' ), 'r' ).read (), 'Success!' )
5114
5118
@@ -5130,8 +5134,7 @@ def test_sse1_full(self):
5130
5134
orig_args = self .emcc_args
5131
5135
for mode in [[], ['-s' , 'SIMD=1' ]]:
5132
5136
self .emcc_args = orig_args + mode + ['-I' + path_from_root ('tests' ), '-msse' ]
5133
- if '-O2' in self .emcc_args :
5134
- self .emcc_args += ['--closure' , '1' ] # Use closure here for some additional coverage
5137
+ self .maybe_closure ()
5135
5138
5136
5139
self .do_run (open (path_from_root ('tests' , 'test_sse1_full.cpp' ), 'r' ).read (), self .ignore_nans (native_result ), output_nicerizer = self .ignore_nans )
5137
5140
@@ -5153,8 +5156,7 @@ def test_sse2_full(self):
5153
5156
orig_args = self .emcc_args
5154
5157
for mode in [[], ['-s' , 'SIMD=1' ]]:
5155
5158
self .emcc_args = orig_args + mode + ['-I' + path_from_root ('tests' ), '-msse2' ] + args
5156
- if '-O2' in self .emcc_args :
5157
- self .emcc_args += ['--closure' , '1' ] # Use closure here for some additional coverage
5159
+ self .maybe_closure ()
5158
5160
5159
5161
self .do_run (open (path_from_root ('tests' , 'test_sse2_full.cpp' ), 'r' ).read (), self .ignore_nans (native_result ), output_nicerizer = self .ignore_nans )
5160
5162
@@ -5463,8 +5465,7 @@ def test_sqlite(self):
5463
5465
force_c = True )
5464
5466
5465
5467
def test_zlib (self ):
5466
- if '-O2' in self .emcc_args and 'ASM_JS=0' not in self .emcc_args : # without asm, closure minifies Math.imul badly
5467
- self .emcc_args += ['--closure' , '1' ] # Use closure here for some additional coverage
5468
+ self .maybe_closure ()
5468
5469
5469
5470
assert 'asm2g' in test_modes
5470
5471
if self .run_name == 'asm2g' :
0 commit comments