@@ -1424,9 +1424,7 @@ def test_multiply_defined_libsymbols(self):
14241424 self.emcc('a2.c', ['-r', '-L.', '-lA', '-o', 'a2.o'])
14251425 self.emcc('b2.c', ['-r', '-L.', '-lA', '-o', 'b2.o'])
14261426
1427- self.emcc('main.c', ['-L.', '-lA', 'a2.o', 'b2.o'])
1428-
1429- self.assertContained('result: 1', self.run_js('a.out.js'))
1427+ self.do_runf('main.c', 'result: 1', cflags=['-L.', '-lA', 'a2.o', 'b2.o'])
14301428
14311429 def test_multiply_defined_libsymbols_2(self):
14321430 create_file('a.c', "int x() { return 55; }")
@@ -1449,9 +1447,7 @@ def test_multiply_defined_libsymbols_2(self):
14491447 building.emar('cr', 'libLIB.a', ['a.o', 'b.o']) # libLIB.a with a and b
14501448
14511449 # a is in the lib AND in an .o, so should be ignored in the lib. We do still need b from the lib though
1452- self.emcc('main.c', ['a.o', 'c.o', '-L.', '-lLIB'])
1453-
1454- self.assertContained('result: 62', self.run_js('a.out.js'))
1450+ self.do_runf('main.c', 'result: 62', cflags=['a.o', 'c.o', '-L.', '-lLIB'])
14551451
14561452 def test_link_group(self):
14571453 create_file('lib.c', 'int x() { return 42; }')
@@ -1724,12 +1720,8 @@ def test_export_all_and_exported_functions(self):
17241720 ''')
17251721
17261722 # libfunc2 should not be linked by default, even with EXPORT_ALL
1727- self.emcc('lib.c', ['-sEXPORT_ALL', '--pre-js', 'pre.js', '-o', 'a.out.js'])
1728- err = self.run_js('a.out.js', assert_returncode=NON_ZERO)
1729- self.assertContained('_libfunc2 is not defined', err)
1730-
1731- self.emcc('lib.c', ['-sEXPORTED_FUNCTIONS=_libfunc2', '-sEXPORT_ALL', '--pre-js', 'pre.js', '-o', 'a.out.js'])
1732- self.assertContained('libfunc\n', self.run_js('a.out.js'))
1723+ self.do_runf('lib.c', '_libfunc2 is not defined', cflags=['-sEXPORT_ALL', '--pre-js', 'pre.js'], assert_returncode=NON_ZERO)
1724+ self.do_runf('lib.c', 'libfunc\n', cflags=['-sEXPORTED_FUNCTIONS=_libfunc2', '-sEXPORT_ALL', '--pre-js', 'pre.js'])
17331725
17341726 @all_engines
17351727 @also_with_wasmfs
@@ -1910,8 +1902,7 @@ def test_multiple_archives_duplicate_basenames(self):
19101902 }
19111903 ''')
19121904
1913- self.run_process([EMCC, 'main.c', '-L.', '-la', '-lb'])
1914- self.assertContained('a\nb\n', self.run_js('a.out.js'))
1905+ self.do_runf('main.c', 'a\nb\n', cflags=['-L.', '-la', '-lb'])
19151906
19161907 def test_archive_duplicate_basenames(self):
19171908 ensure_dir('a')
@@ -1962,9 +1953,7 @@ def test_archive_duplicate_basenames(self):
19621953
19631954 # With fastcomp we don't support duplicate members so this should generate
19641955 # a warning. With the wasm backend (lld) this is fully supported.
1965- cmd = [EMCC, 'main.c', '-L.', '-ldup']
1966- self.run_process(cmd)
1967- self.assertContained('a\nb...\n', self.run_js('a.out.js'))
1956+ self.do_runf('main.c', 'a\nb...\n', cflags=['-L.', '-ldup'])
19681957
19691958 def test_export_from_archive(self):
19701959 export_name = 'this_is_an_entry_point'
@@ -2019,10 +2008,7 @@ def test_include_file(self, args):
20192008 }
20202009 ''')
20212010
2022- self.run_process([EMCC, 'main.c'] + args)
2023- # run in node.js to ensure we verify that file preloading works there
2024- result = self.run_js('a.out.js')
2025- self.assertContained('|hello from a file wi|', result)
2011+ self.do_runf('main.c', '|hello from a file wi|', cflags=args)
20262012
20272013 @parameterized({
20282014 '': ([],),
@@ -9236,8 +9222,7 @@ def test_noderawfs_access_abspath(self):
92369222 return access(argv[1], F_OK);
92379223 }
92389224 ''')
9239- self.run_process([EMCC, 'access.c', '-sNODERAWFS'])
9240- self.run_js('a.out.js', args=[os.path.abspath('foo')])
9225+ self.do_runf('access.c', cflags=['-sNODERAWFS'], args=[os.path.abspath('foo')])
92419226
92429227 def test_noderawfs_readfile_prerun(self):
92439228 create_file('foo', 'bar')
@@ -14371,8 +14356,7 @@ def test_emmalloc_in_addition(self, args):
1437114356 # etc., and only provide the emmalloc_malloc etc. family of functions that
1437214357 # we can use.
1437314358 emmalloc = path_from_root('system', 'lib', 'emmalloc.c')
14374- self.run_process([EMCC, test_file('other/test_emmalloc_in_addition.c'), emmalloc] + args)
14375- self.assertContained('success', self.run_js('a.out.js'))
14359+ self.do_runf('other/test_emmalloc_in_addition.c', 'success', cflags=[emmalloc] + args)
1437614360
1437714361 def test_unused_destructor(self):
1437814362 self.do_runf('other/test_unused_destructor.c', cflags=['-flto', '-O2'])
@@ -14739,8 +14723,7 @@ def test_rust_integration_basics(self):
1473914723
1474014724 def test_relative_em_cache(self):
1474114725 with env_modify({'EM_CACHE': 'foo'}):
14742- err = self.expect_fail([EMCC, '-c', test_file('hello_world.c')])
14743- self.assertContained('emcc: error: environment variable EM_CACHE must be an absolute path: foo', err)
14726+ self.assert_fail([EMCC, '-c', test_file('hello_world.c')], 'emcc: error: environment variable EM_CACHE must be an absolute path: foo')
1474414727
1474514728 @crossplatform
1474614729 def test_create_cache_directory(self):
0 commit comments