Revive parts of test_emcc_4. NFC. (#12635)
The WASM=0 parts of this test has been disabled and certainly parts had bit-rotted.
This commit is contained in:
Родитель
c88c779c1c
Коммит
f435aa885a
|
@ -297,6 +297,7 @@ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR P
|
||||||
os.chdir(last)
|
os.chdir(last)
|
||||||
try_delete(path)
|
try_delete(path)
|
||||||
|
|
||||||
|
@is_slow_test
|
||||||
@parameterized({
|
@parameterized({
|
||||||
'c': [EMCC],
|
'c': [EMCC],
|
||||||
'cxx': [EMXX]})
|
'cxx': [EMXX]})
|
||||||
|
@ -304,7 +305,7 @@ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR P
|
||||||
# Optimization: emcc src.cpp -o something.js [-Ox]. -O0 is the same as not specifying any optimization setting
|
# Optimization: emcc src.cpp -o something.js [-Ox]. -O0 is the same as not specifying any optimization setting
|
||||||
for params, opt_level, obj_params, closure, has_malloc in [ # obj_params are used after compiling first
|
for params, opt_level, obj_params, closure, has_malloc in [ # obj_params are used after compiling first
|
||||||
(['-o', 'something.js'], 0, None, 0, 1),
|
(['-o', 'something.js'], 0, None, 0, 1),
|
||||||
(['-o', 'something.js', '-O0'], 0, None, 0, 0),
|
(['-o', 'something.js', '-O0', '-g'], 0, None, 0, 0),
|
||||||
(['-o', 'something.js', '-O1'], 1, None, 0, 0),
|
(['-o', 'something.js', '-O1'], 1, None, 0, 0),
|
||||||
(['-o', 'something.js', '-O1', '-g'], 1, None, 0, 0), # no closure since debug
|
(['-o', 'something.js', '-O1', '-g'], 1, None, 0, 0), # no closure since debug
|
||||||
(['-o', 'something.js', '-O2'], 2, None, 0, 1),
|
(['-o', 'something.js', '-O2'], 2, None, 0, 1),
|
||||||
|
@ -312,15 +313,15 @@ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR P
|
||||||
(['-o', 'something.js', '-Os'], 2, None, 0, 1),
|
(['-o', 'something.js', '-Os'], 2, None, 0, 1),
|
||||||
(['-o', 'something.js', '-O3'], 3, None, 0, 1),
|
(['-o', 'something.js', '-O3'], 3, None, 0, 1),
|
||||||
# and, test compiling first
|
# and, test compiling first
|
||||||
(['-c', '-o', 'something.o'], 0, [], 0, 0),
|
(['-c', '-o', 'something.o'], 0, [], 0, 0),
|
||||||
(['-c', '-o', 'something.o', '-O0'], 0, [], 0, 0),
|
(['-c', '-o', 'something.o', '-O0'], 0, [], 0, 0),
|
||||||
(['-c', '-o', 'something.o', '-O1'], 1, ['-O1'], 0, 0),
|
(['-c', '-o', 'something.o', '-O1'], 1, ['-O1'], 0, 0),
|
||||||
(['-c', '-o', 'something.o', '-O2'], 2, ['-O2'], 0, 0),
|
(['-c', '-o', 'something.o', '-O2'], 2, ['-O2'], 0, 0),
|
||||||
(['-c', '-o', 'something.o', '-O3'], 3, ['-O3'], 0, 0),
|
(['-c', '-o', 'something.o', '-O3'], 3, ['-O3'], 0, 0),
|
||||||
(['-O1', '-c', '-o', 'something.o'], 1, [], 0, 0),
|
(['-O1', '-c', '-o', 'something.o'], 1, [], 0, 0),
|
||||||
# non-wasm
|
# non-wasm
|
||||||
(['-s', 'WASM=0', '-o', 'something.js'], 0, None, 0, 1),
|
(['-s', 'WASM=0', '-o', 'something.js'], 0, None, 0, 1),
|
||||||
(['-s', 'WASM=0', '-o', 'something.js', '-O0'], 0, None, 0, 0),
|
(['-s', 'WASM=0', '-o', 'something.js', '-O0', '-g'], 0, None, 0, 0),
|
||||||
(['-s', 'WASM=0', '-o', 'something.js', '-O1'], 1, None, 0, 0),
|
(['-s', 'WASM=0', '-o', 'something.js', '-O1'], 1, None, 0, 0),
|
||||||
(['-s', 'WASM=0', '-o', 'something.js', '-O1', '-g'], 1, None, 0, 0), # no closure since debug
|
(['-s', 'WASM=0', '-o', 'something.js', '-O1', '-g'], 1, None, 0, 0), # no closure since debug
|
||||||
(['-s', 'WASM=0', '-o', 'something.js', '-O2'], 2, None, 0, 1),
|
(['-s', 'WASM=0', '-o', 'something.js', '-O2'], 2, None, 0, 1),
|
||||||
|
@ -335,8 +336,6 @@ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR P
|
||||||
(['-s', 'WASM=0', '-c', '-o', 'something.o', '-O3'], 3, ['-s', 'WASM=0', '-O3'], 0, 0),
|
(['-s', 'WASM=0', '-c', '-o', 'something.o', '-O3'], 3, ['-s', 'WASM=0', '-O3'], 0, 0),
|
||||||
(['-s', 'WASM=0', '-O1', '-c', '-o', 'something.o'], 1, ['-s', 'WASM=0'], 0, 0),
|
(['-s', 'WASM=0', '-O1', '-c', '-o', 'something.o'], 1, ['-s', 'WASM=0'], 0, 0),
|
||||||
]:
|
]:
|
||||||
if 'WASM=0' in params:
|
|
||||||
continue
|
|
||||||
print(params, opt_level, obj_params, closure, has_malloc)
|
print(params, opt_level, obj_params, closure, has_malloc)
|
||||||
self.clear()
|
self.clear()
|
||||||
keep_debug = '-g' in params
|
keep_debug = '-g' in params
|
||||||
|
@ -368,11 +367,8 @@ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR P
|
||||||
# closure has not been run, we can do some additional checks. TODO: figure out how to do these even with closure
|
# closure has not been run, we can do some additional checks. TODO: figure out how to do these even with closure
|
||||||
assert '._main = ' not in generated, 'closure compiler should not have been run'
|
assert '._main = ' not in generated, 'closure compiler should not have been run'
|
||||||
if keep_debug:
|
if keep_debug:
|
||||||
assert ('switch (label)' in generated or 'switch (label | 0)' in generated) == (opt_level <= 0), 'relooping should be in opt >= 1'
|
assert ('assert(INITIAL_INITIAL_MEMORY >= TOTAL_STACK' in generated) == (opt_level == 0), 'assertions should be in opt == 0'
|
||||||
assert ('assert(STACKTOP < STACK_MAX' in generated) == (opt_level == 0), 'assertions should be in opt == 0'
|
|
||||||
if 'WASM=0' in params:
|
if 'WASM=0' in params:
|
||||||
if opt_level >= 2 and '-g' in params:
|
|
||||||
assert re.search(r'HEAP8\[\$?\w+ ?\+ ?\(+\$?\w+ ?', generated) or re.search(r'HEAP8\[HEAP32\[', generated) or re.search(r'[i$]\d+ & ~\(1 << [i$]\d+\)', generated), 'eliminator should create compound expressions, and fewer one-time vars' # also in -O1, but easier to test in -O2
|
|
||||||
looks_unminified = ' = {}' in generated and ' = []' in generated
|
looks_unminified = ' = {}' in generated and ' = []' in generated
|
||||||
looks_minified = '={}' in generated and '=[]' and ';var' in generated
|
looks_minified = '={}' in generated and '=[]' and ';var' in generated
|
||||||
assert not (looks_minified and looks_unminified)
|
assert not (looks_minified and looks_unminified)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче