@@ -2106,7 +2106,7 @@ def reftest(self, expected, manually_trigger=False):
2106
2106
setupRefTest();
2107
2107
''' % (reporting , basename , int (manually_trigger )))
2108
2108
2109
- def compile_btest (self , args , reporting = Reporting .FULL ):
2109
+ def compile_btest (self , filename , args , reporting = Reporting .FULL ):
2110
2110
# Inject support code for reporting results. This adds an include a header so testcases can
2111
2111
# use REPORT_RESULT, and also adds a cpp file to be compiled alongside the testcase, which
2112
2112
# contains the implementation of REPORT_RESULT (we can't just include that implementation in
@@ -2123,7 +2123,9 @@ def compile_btest(self, args, reporting=Reporting.FULL):
2123
2123
test_file ('report_result.c' )]
2124
2124
if EMTEST_BROWSER == 'node' :
2125
2125
args .append ('-DEMTEST_NODE' )
2126
- self .run_process ([EMCC ] + self .get_emcc_args () + args )
2126
+ if not os .path .exists (filename ):
2127
+ filename = test_file (filename )
2128
+ self .run_process ([compiler_for (filename ), filename ] + self .get_emcc_args () + args )
2127
2129
2128
2130
def btest_exit (self , filename , assert_returncode = 0 , * args , ** kwargs ):
2129
2131
"""Special case of btest that reports its result solely via exiting
@@ -2166,10 +2168,10 @@ def btest(self, filename, expected=None, reference=None,
2166
2168
# manual_reference only makes sense for reference tests
2167
2169
assert manual_reference is None
2168
2170
outfile = output_basename + '.html'
2169
- args += [filename , '-o' , outfile ]
2171
+ args += ['-o' , outfile ]
2170
2172
# print('all args:', args)
2171
2173
utils .delete_file (outfile )
2172
- self .compile_btest (args , reporting = reporting )
2174
+ self .compile_btest (filename , args , reporting = reporting )
2173
2175
self .assertExists (outfile )
2174
2176
if post_build :
2175
2177
post_build ()
0 commit comments