Skip to content

Commit 732ac8d

Browse files
committed
[test] Pass filename explicitly to compile_btest helper. NFC
This allows us to use `compiler_for` to determine whether to run `EMCC` or `EMXX` appropriately.
1 parent 946c850 commit 732ac8d

File tree

3 files changed

+68
-69
lines changed

3 files changed

+68
-69
lines changed

test/common.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2106,24 +2106,27 @@ def reftest(self, expected, manually_trigger=False):
21062106
setupRefTest();
21072107
''' % (reporting, basename, int(manually_trigger)))
21082108

2109-
def compile_btest(self, args, reporting=Reporting.FULL):
2109+
def compile_btest(self, filename, args, reporting=Reporting.FULL):
21102110
# Inject support code for reporting results. This adds an include a header so testcases can
21112111
# use REPORT_RESULT, and also adds a cpp file to be compiled alongside the testcase, which
21122112
# contains the implementation of REPORT_RESULT (we can't just include that implementation in
21132113
# the header as there may be multiple files being compiled here).
21142114
if reporting != Reporting.NONE:
21152115
# For basic reporting we inject JS helper funtions to report result back to server.
2116-
args += ['-DEMTEST_PORT_NUMBER=%d' % self.port,
2117-
'--pre-js', test_file('browser_reporting.js')]
2116+
args += ['--pre-js', test_file('browser_reporting.js'),
2117+
'-include', test_file('report_result.h')]
21182118
if reporting == Reporting.FULL:
21192119
# If C reporting (i.e. REPORT_RESULT macro) is required
21202120
# also compile in report_result.c and forice-include report_result.h
2121-
args += ['-I' + TEST_ROOT,
2122-
'-include', test_file('report_result.h'),
2123-
test_file('report_result.c')]
2121+
self.run_process([EMCC, '-c', '-I' + TEST_ROOT,
2122+
'-DEMTEST_PORT_NUMBER=%d' % self.port,
2123+
test_file('report_result.c')] + self.get_emcc_args())
2124+
args.append('report_result.o')
21242125
if EMTEST_BROWSER == 'node':
21252126
args.append('-DEMTEST_NODE')
2126-
self.run_process([EMCC] + self.get_emcc_args() + args)
2127+
if not os.path.exists(filename):
2128+
filename = test_file(filename)
2129+
self.run_process([compiler_for(filename), filename] + self.get_emcc_args() + args)
21272130

21282131
def btest_exit(self, filename, assert_returncode=0, *args, **kwargs):
21292132
"""Special case of btest that reports its result solely via exiting
@@ -2166,10 +2169,10 @@ def btest(self, filename, expected=None, reference=None,
21662169
# manual_reference only makes sense for reference tests
21672170
assert manual_reference is None
21682171
outfile = output_basename + '.html'
2169-
args += [filename, '-o', outfile]
2172+
args += ['-o', outfile]
21702173
# print('all args:', args)
21712174
utils.delete_file(outfile)
2172-
self.compile_btest(args, reporting=reporting)
2175+
self.compile_btest(filename, args, reporting=reporting)
21732176
self.assertExists(outfile)
21742177
if post_build:
21752178
post_build()

0 commit comments

Comments
 (0)