Skip to content

Commit 8838d22

Browse files
authored
[test] Allow flexible output suffix with build method. NFC (#23509)
1 parent 0c04af9 commit 8838d22

File tree

3 files changed

+9
-12
lines changed

3 files changed

+9
-12
lines changed

test/common.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,21 +1333,19 @@ def verify_es5(self, filename):
13331333
self.fail('es-check failed to verify ES5 output compliance')
13341334

13351335
# Build JavaScript code from source code
1336-
def build(self, filename, libraries=None, includes=None, force_c=False, js_outfile=True, emcc_args=None, output_basename=None):
1336+
def build(self, filename, libraries=None, includes=None, force_c=False, output_suffix='.js', emcc_args=None, output_basename=None):
13371337
if not os.path.exists(filename):
13381338
filename = test_file(filename)
1339-
suffix = '.js' if js_outfile else '.wasm'
13401339
compiler = [compiler_for(filename, force_c)]
13411340

13421341
if force_c:
13431342
assert shared.suffix(filename) != '.c', 'force_c is not needed for source files ending in .c'
13441343
compiler.append('-xc')
13451344

13461345
if output_basename:
1347-
output = output_basename + suffix
1346+
output = output_basename + output_suffix
13481347
else:
1349-
basename = os.path.basename(filename)
1350-
output = shared.unsuffixed(basename) + suffix
1348+
output = shared.unsuffixed_basename(filename) + output_suffix
13511349
cmd = compiler + [filename, '-o', output] + self.get_emcc_args(main_file=True)
13521350
if emcc_args:
13531351
cmd += emcc_args

test/test_core.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1908,7 +1908,7 @@ def test_em_asm_direct(self):
19081908

19091909
@needs_dylink
19101910
def test_em_asm_side_module(self):
1911-
self.build(test_file('core/test_em_asm_side.c'), js_outfile=False, emcc_args=['-sSIDE_MODULE'], output_basename='side')
1911+
self.build(test_file('core/test_em_asm_side.c'), output_suffix='.wasm', emcc_args=['-sSIDE_MODULE'], output_basename='side')
19121912
self.do_core_test('test_em_asm_main.c', emcc_args=['-sMAIN_MODULE=2', 'side.wasm'])
19131913

19141914
@parameterized({
@@ -3928,13 +3928,13 @@ def dylink_testf(self, main, side=None, expected=None, force_c=False, main_emcc_
39283928
# side settings
39293929
self.clear_setting('MAIN_MODULE')
39303930
self.set_setting('SIDE_MODULE')
3931-
side_suffix = 'wasm' if self.is_wasm() else 'js'
3931+
side_suffix = '.wasm' if self.is_wasm() else '.js'
39323932
if isinstance(side, list):
3933-
out_file = 'liblib.' + side_suffix
3933+
out_file = 'liblib' + side_suffix
39343934
# side is just a library
39353935
self.run_process([EMCC] + side + self.get_emcc_args() + ['-o', out_file])
39363936
else:
3937-
out_file = self.build(side, js_outfile=(side_suffix == 'js'))
3937+
out_file = self.build(side, output_suffix=side_suffix)
39383938
shutil.move(out_file, os.path.join(so_dir, so_name))
39393939

39403940
# main settings
@@ -4814,8 +4814,7 @@ def test_dylink_exceptions_try_catch_6(self):
48144814
# side settings
48154815
self.clear_setting('MAIN_MODULE')
48164816
self.set_setting('SIDE_MODULE')
4817-
out_file = self.build('liblib.cpp', js_outfile=False)
4818-
shutil.move(out_file, "liblib.so")
4817+
self.build('liblib.cpp', output_suffix='.so')
48194818

48204819
# main settings
48214820
self.set_setting('MAIN_MODULE', 1)

test/test_other.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13213,7 +13213,7 @@ def test_em_js_invalid(self):
1321313213

1321413214
@crossplatform
1321513215
def test_em_js_side_module(self):
13216-
self.build(test_file('other/test_em_js_side.c'), js_outfile=False, emcc_args=['-sSIDE_MODULE'], output_basename='side')
13216+
self.build(test_file('other/test_em_js_side.c'), output_suffix='.wasm', emcc_args=['-sSIDE_MODULE'], output_basename='side')
1321713217
self.do_other_test('test_em_js_main.c', emcc_args=['-sMAIN_MODULE=2', 'side.wasm'])
1321813218

1321913219
def test_em_js_main_module(self):

0 commit comments

Comments
 (0)