Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit bb29e61

Browse files
authoredApr 2, 2025··
Mark more other tests as being slow. NFC (#24041)
These tests were all taking over 20 seconds on my cloudtop. With this change I can now run the whole other test suite with --skip-slow in under 1 minute.
1 parent 0b63049 commit bb29e61

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed
 

‎test/test_other.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2592,6 +2592,7 @@ def test_bullet(self):
25922592
self.do_runf('test_bullet_hello_world.cpp', 'BULLET RUNNING', emcc_args=['--use-port=bullet'])
25932593

25942594
@requires_network
2595+
@is_slow_test
25952596
def test_vorbis(self):
25962597
# This will also test if ogg compiles, because vorbis depends on ogg
25972598
self.do_runf('third_party/vorbis_test.c', 'ALL OK', emcc_args=['-sUSE_VORBIS'])
@@ -3123,6 +3124,7 @@ def compile_with_dwarf(args, output):
31233124
compile_with_dwarf([], 'a.js')
31243125
self.verify_dwarf_exists('a.wasm')
31253126

3127+
@is_slow_test
31263128
def test_dwarf_sourcemap_names(self):
31273129
source_file = 'hello_world.c'
31283130
js_file = 'a.out.js'
@@ -3507,6 +3509,7 @@ def test_embind_tsgen_end_to_end(self, opts, tsc_opts):
35073509
self.assertFileContents(test_file('other/embind_tsgen_module.d.ts'), actual)
35083510
self.assertContained('main ran\nts ran', self.run_js('main.js'))
35093511

3512+
@is_slow_test
35103513
def test_embind_tsgen_ignore(self):
35113514
create_file('fail.js', 'assert(false);')
35123515
self.emcc_args += ['-lembind', '--emit-tsd', 'embind_tsgen.d.ts']
@@ -5347,6 +5350,7 @@ def test_exit_runtime(self, do_exit, opts):
53475350
# assert ('atexit(' in src) == exit, 'atexit should not appear in src when EXIT_RUNTIME=0'
53485351
# assert ('_ZN5WasteILi2EED' in src) == exit, 'destructors should not appear if no exit:\n' + src
53495352

5353+
@is_slow_test
53505354
def test_no_exit_runtime_warnings_flush(self):
53515355
# check we warn if there is unflushed info
53525356
create_file('code.c', r'''
@@ -7487,6 +7491,7 @@ def test_libcxx_minimal(self):
74877491
# TODO(sbc): make dynamic linking work with wasm2js
74887492
# 'wasm2js': ('0',)
74897493
})
7494+
@is_slow_test
74907495
def test_minimal_dynamic(self, wasm):
74917496
library_file = 'library.wasm' if wasm else 'library.js'
74927497

@@ -8224,6 +8229,7 @@ def test_dlmalloc_modes(self):
82248229
out = self.run_js('a.out.js', assert_returncode=NON_ZERO)
82258230
self.assertContained('native code called abort()', out)
82268231

8232+
@is_slow_test
82278233
def test_mallocs(self):
82288234
def run(opts):
82298235
print(opts)
@@ -11548,6 +11554,8 @@ def test_linking_send(self):
1154811554

1154911555
# This test verifies that function names embedded into the build with --js-library (JS functions exported to wasm)
1155011556
# are minified when -O3 is used
11557+
@is_slow_test
11558+
@also_with_wasm2js
1155111559
def test_js_function_names_are_minified(self):
1155211560
def check_size(f, expected_size):
1155311561
if not os.path.isfile(f):
@@ -11558,19 +11566,17 @@ def check_size(f, expected_size):
1155811566
self.assertLess(obtained_size, expected_size)
1155911567

1156011568
self.run_process([PYTHON, test_file('gen_many_js_functions.py'), 'library_long.js', 'main_long.c'])
11561-
for wasm in ([], ['-sWASM=0']):
11562-
# Currently we rely on Closure for full minification of every appearance of JS function names.
11563-
# TODO: Add minification also for non-Closure users and add [] to this list to test minification without Closure.
11564-
for closure in [['--closure=1']]:
11565-
args = [EMCC, '-O3', '--js-library', 'library_long.js', 'main_long.c', '-o', 'a.html'] + wasm + closure
11566-
print(' '.join(args))
11567-
self.run_process(args)
11569+
# Currently we rely on Closure for full minification of every appearance of JS function names.
11570+
# TODO: Add minification also for non-Closure users and add [] to this list to test minification without Closure.
11571+
for closure in [['--closure=1', '-Wno-closure']]:
11572+
args = [EMCC, '-O3', '--js-library', 'library_long.js', 'main_long.c'] + self.get_emcc_args() + closure
11573+
self.run_process(args)
1156811574

11569-
ret = self.run_js('a.js')
11570-
self.assertTextDataIdentical('Sum of numbers from 1 to 1000: 500500 (expected 500500)', ret.strip())
11575+
ret = self.run_js('a.out.js')
11576+
self.assertTextDataIdentical('Sum of numbers from 1 to 1000: 500500 (expected 500500)', ret.strip())
1157111577

11572-
check_size('a.js', 150000)
11573-
check_size('a.wasm', 80000)
11578+
check_size('a.out.js', 150000)
11579+
check_size('a.out.wasm', 80000)
1157411580

1157511581
# Checks that C++ exceptions managing invoke_*() wrappers will not be generated if exceptions are disabled
1157611582
def test_no_invoke_functions_are_generated_if_exception_catching_is_disabled(self):
@@ -12894,6 +12900,7 @@ def test_signature_mismatch(self):
1289412900
self.assertContained('function signature mismatch: foo', stderr)
1289512901

1289612902
# Verifies that warning messages that Closure outputs are recorded to console
12903+
@is_slow_test
1289712904
def test_closure_warnings(self):
1289812905
# Default should be no warnings
1289912906
proc = self.run_process([EMCC, test_file('test_closure_warning.c'), '-O3', '--closure=1'], stderr=PIPE)
@@ -14586,6 +14593,7 @@ def test_multiple_g_flags(self):
1458614593
self.assertNotIn(b'.debug', read_binary('hello_world.o'))
1458714594

1458814595
@requires_v8
14596+
@is_slow_test
1458914597
def test_jspi_code_size(self):
1459014598
# use iostream code here to purposefully get a fairly large wasm file, so
1459114599
# that our size comparisons later are meaningful

0 commit comments

Comments
 (0)
Please sign in to comment.