Skip to content

Commit adc3153

Browse files
committed
Fix combining of test parametization. NFC
As far as I can tell the only test that was relying on this features is `browser.test_sdl_image_prepare` which uses `@also_with_proxied` in addition to `@also_with_wasmfs` and it was getting the names and values backwards. I confirmed manually that all 4 test combination now do the right thing.
1 parent e28fb3f commit adc3153

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

test/common.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,8 @@ def also_with_wasmfs(f):
376376

377377
@wraps(f)
378378
def metafunc(self, wasmfs, *args, **kwargs):
379+
if DEBUG:
380+
print('parameterize:wasmfs=%d' % wasmfs)
379381
if wasmfs:
380382
self.set_setting('WASMFS')
381383
self.emcc_args.append('-DWASMFS')
@@ -393,6 +395,8 @@ def also_with_noderawfs(func):
393395

394396
@wraps(func)
395397
def metafunc(self, rawfs, *args, **kwargs):
398+
if DEBUG:
399+
print('parameterize:rawfs=%d' % rawfs)
396400
if rawfs:
397401
self.require_node()
398402
self.emcc_args += ['-DNODERAWFS']
@@ -410,6 +414,8 @@ def also_with_env_modify(name_updates_mapping):
410414
def decorated(f):
411415
@wraps(f)
412416
def metafunc(self, updates, *args, **kwargs):
417+
if DEBUG:
418+
print('parameterize:env_modify=%s' % (updates))
413419
if updates:
414420
with env_modify(updates):
415421
return f(self, *args, **kwargs)
@@ -432,6 +438,8 @@ def also_with_minimal_runtime(f):
432438

433439
@wraps(f)
434440
def metafunc(self, with_minimal_runtime, *args, **kwargs):
441+
if DEBUG:
442+
print('parameterize:minimal_runtime=%s' % with_minimal_runtime)
435443
assert self.get_setting('MINIMAL_RUNTIME') is None
436444
if with_minimal_runtime:
437445
self.set_setting('MINIMAL_RUNTIME', 1)
@@ -447,6 +455,8 @@ def also_with_wasm_bigint(f):
447455

448456
@wraps(f)
449457
def metafunc(self, with_bigint, *args, **kwargs):
458+
if DEBUG:
459+
print('parameterize:bigint=%s' % with_bigint)
450460
if with_bigint:
451461
if self.is_wasm2js():
452462
self.skipTest('wasm2js does not support WASM_BIGINT')
@@ -469,6 +479,8 @@ def also_with_wasm64(f):
469479

470480
@wraps(f)
471481
def metafunc(self, with_wasm64, *args, **kwargs):
482+
if DEBUG:
483+
print('parameterize:wasm64=%s' % with_wasm64)
472484
if with_wasm64:
473485
self.require_wasm64()
474486
self.set_setting('MEMORY64')
@@ -488,6 +500,8 @@ def also_with_wasm2js(f):
488500
@wraps(f)
489501
def metafunc(self, with_wasm2js, *args, **kwargs):
490502
assert self.get_setting('WASM') is None
503+
if DEBUG:
504+
print('parameterize:wasm2js=%s' % with_wasm2js)
491505
if with_wasm2js:
492506
self.require_wasm2js()
493507
self.set_setting('WASM', 0)
@@ -522,6 +536,8 @@ def also_with_standalone_wasm(impure=False):
522536
def decorated(func):
523537
@wraps(func)
524538
def metafunc(self, standalone):
539+
if DEBUG:
540+
print('parameterize:standalone=%s' % standalone)
525541
if not standalone:
526542
func(self)
527543
else:
@@ -559,6 +575,8 @@ def with_all_eh_sjlj(f):
559575

560576
@wraps(f)
561577
def metafunc(self, mode, *args, **kwargs):
578+
if DEBUG:
579+
print('parameterize:eh_mode=%s' % mode)
562580
if mode == 'wasm' or mode == 'wasm_exnref':
563581
# Wasm EH is currently supported only in wasm backend and V8
564582
if self.is_wasm2js():
@@ -719,7 +737,7 @@ def parameterize(func, parameters):
719737
if prev:
720738
# If we're parameterizing 2nd time, construct a cartesian product for various combinations.
721739
func._parameterize = {
722-
'_'.join(filter(None, [k1, k2])): v1 + v2 for (k1, v1), (k2, v2) in itertools.product(prev.items(), parameters.items())
740+
'_'.join(filter(None, [k1, k2])): v2 + v1 for (k1, v1), (k2, v2) in itertools.product(prev.items(), parameters.items())
723741
}
724742
else:
725743
func._parameterize = parameters

test/test_browser.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from tools import shared
2828
from tools import ports
2929
from tools import utils
30-
from tools.shared import EMCC, WINDOWS, FILE_PACKAGER, PIPE
30+
from tools.shared import EMCC, WINDOWS, FILE_PACKAGER, PIPE, DEBUG
3131
from tools.utils import delete_dir
3232

3333

@@ -82,6 +82,8 @@ def also_with_wasmfs(f):
8282

8383
@wraps(f)
8484
def metafunc(self, wasmfs, *args, **kwargs):
85+
if DEBUG:
86+
print('parameterize:wasmfs=%d' % wasmfs)
8587
if wasmfs:
8688
self.set_setting('WASMFS')
8789
self.emcc_args = self.emcc_args.copy() + ['-DWASMFS']
@@ -100,6 +102,8 @@ def also_with_proxying(f):
100102

101103
@wraps(f)
102104
def metafunc(self, proxied, *args, **kwargs):
105+
if DEBUG:
106+
print('parameterize:proxied=%d' % proxied)
103107
self.proxied = proxied
104108
f(self, *args, **kwargs)
105109

@@ -901,7 +905,7 @@ def test_sdl_canvas_alpha(self):
901905
'': (False,),
902906
'delay': (True,)
903907
})
904-
def test_sdl_key(self, delay, async_, defines):
908+
def test_sdl_key(self, delimeter, async_, delay):
905909
if delay:
906910
settimeout_start = 'setTimeout(function() {'
907911
settimeout_end = '}, 1);'
@@ -4338,7 +4342,7 @@ def test_webgl_resize_offscreencanvas_from_main_thread(self, args1, args2, args3
43384342
'enable': (1,),
43394343
'disable': (0,),
43404344
})
4341-
def test_webgl_simple_extensions(self, simple_enable_extensions, webgl_version):
4345+
def test_webgl_simple_extensions(self, webgl_version, simple_enable_extensions):
43424346
cmd = ['-DWEBGL_CONTEXT_VERSION=' + str(webgl_version),
43434347
'-DWEBGL_SIMPLE_ENABLE_EXTENSION=' + str(simple_enable_extensions),
43444348
'-sMAX_WEBGL_VERSION=2',

test/test_core.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4624,13 +4624,13 @@ def test_dylink_postsets_chunking(self):
46244624
int global_var = 12345;
46254625
''', expected=['12345\n'], force_c=True)
46264626

4627+
@with_dylink_reversed
46274628
@parameterized({
46284629
'libcxx': ('libc,libc++,libmalloc,libc++abi',),
46294630
'all': ('1',),
46304631
'missing': ('libc,libmalloc,libc++abi', False, False, False),
46314632
'missing_assertions': ('libc,libmalloc,libc++abi', False, False, True),
46324633
})
4633-
@with_dylink_reversed
46344634
def test_dylink_syslibs(self, syslibs, expect_pass=True, with_reversed=True, assertions=True):
46354635
# one module uses libcxx, need to force its inclusion when it isn't the main
46364636
if not with_reversed and self.dylink_reversed:
@@ -9376,11 +9376,11 @@ def test_pthread_dylink_main_module_1(self):
93769376
self.set_setting('MAIN_MODULE')
93779377
self.do_runf('hello_world.c')
93789378

9379+
@with_dylink_reversed
93799380
@parameterized({
93809381
'': ([],),
93819382
'pthreads': (['-sPROXY_TO_PTHREAD', '-sEXIT_RUNTIME', '-pthread', '-Wno-experimental'],)
93829383
})
9383-
@with_dylink_reversed
93849384
def test_Module_dynamicLibraries(self, args):
93859385
# test that Module.dynamicLibraries works with pthreads
93869386
self.emcc_args += args

0 commit comments

Comments
 (0)