@@ -555,6 +555,17 @@ def force_delete_contents(dirname):
555555 utils .delete_contents (dirname )
556556
557557
558+ def find_browser_test_file (filename ):
559+ """Looks for files in test/browser and then in test/
560+ """
561+ if not os .path .exists (filename ):
562+ fullname = test_file ('browser' , filename )
563+ if not os .path .exists (fullname ):
564+ fullname = test_file (filename )
565+ filename = fullname
566+ return filename
567+
568+
558569def parameterized (parameters ):
559570 """
560571 Mark a test as parameterized.
@@ -2010,7 +2021,7 @@ def run_browser(self, html_file, expected=None, message=None, timeout=None, extr
20102021
20112022 # @manually_trigger If set, we do not assume we should run the reftest when main() is done.
20122023 # Instead, call doReftest() in JS yourself at the right time.
2013- def reftest (self , expected , manually_trigger = False ):
2024+ def make_reftest (self , expected , manually_trigger = False ):
20142025 # make sure the pngs used here have no color correction, using e.g.
20152026 # pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile outfile
20162027 basename = os .path .basename (expected )
@@ -2141,8 +2152,15 @@ def compile_btest(self, filename, args, reporting=Reporting.FULL):
21412152 filename = test_file (filename )
21422153 self .run_process ([compiler_for (filename ), filename ] + self .get_emcc_args () + args )
21432154
2155+ def reftest (self , filename , reference , * args , ** kwargs ):
2156+ """Special case of `btest` that uses reference image
2157+ """
2158+ assert 'reference' not in kwargs
2159+ kwargs ['reference' ] = reference
2160+ return self .btest (filename , * args , ** kwargs )
2161+
21442162 def btest_exit (self , filename , assert_returncode = 0 , * args , ** kwargs ):
2145- """Special case of btest that reports its result solely via exiting
2163+ """Special case of ` btest` that reports its result solely via exiting
21462164 with a given result code.
21472165
21482166 In this case we set EXIT_RUNTIME and we don't need to provide the
@@ -2167,15 +2185,11 @@ def btest(self, filename, expected=None, reference=None,
21672185 args = []
21682186 original_args = args
21692187 args = args .copy ()
2170- if not os .path .exists (filename ):
2171- fullname = test_file ('browser' , filename )
2172- if not os .path .exists (fullname ):
2173- fullname = test_file (filename )
2174- filename = fullname
2188+ filename = find_browser_test_file (filename )
21752189 if reference :
2176- self . reference = reference
2190+ reference = find_browser_test_file ( reference )
21772191 expected = [str (i ) for i in range (0 , reference_slack + 1 )]
2178- self .reftest ( test_file ( reference ) , manually_trigger = manually_trigger_reftest )
2192+ self .make_reftest ( reference , manually_trigger = manually_trigger_reftest )
21792193 if not manual_reference :
21802194 args += ['--pre-js' , 'reftest.js' , '-sGL_TESTING' ]
21812195 else :
0 commit comments