@@ -1064,7 +1064,8 @@ def cleanup(line):
1064
1064
def run_js (self , filename , engine = None , args = None ,
1065
1065
output_nicerizer = None ,
1066
1066
assert_returncode = 0 ,
1067
- interleaved_output = True ):
1067
+ interleaved_output = True ,
1068
+ timeout = None , timeout_as_error = True ):
1068
1069
# use files, as PIPE can get too full and hang us
1069
1070
stdout_file = self .in_dir ('stdout' )
1070
1071
stderr_file = None
@@ -1086,9 +1087,11 @@ def run_js(self, filename, engine=None, args=None,
1086
1087
jsrun .run_js (filename , engine , args ,
1087
1088
stdout = stdout ,
1088
1089
stderr = stderr ,
1089
- assert_returncode = assert_returncode )
1090
+ assert_returncode = assert_returncode ,
1091
+ timeout = timeout )
1090
1092
except subprocess .TimeoutExpired as e :
1091
- timeout_error = e
1093
+ if timeout_as_error :
1094
+ timeout_error = e
1092
1095
except subprocess .CalledProcessError as e :
1093
1096
error = e
1094
1097
finally :
@@ -1506,7 +1509,8 @@ def _build_and_run(self, filename, expected_output, args=None, output_nicerizer=
1506
1509
check_for_error = True , force_c = False , emcc_args = None ,
1507
1510
interleaved_output = True ,
1508
1511
regex = False ,
1509
- output_basename = None ):
1512
+ output_basename = None ,
1513
+ timeout = None , timeout_as_error = True ):
1510
1514
logger .debug (f'_build_and_run: { filename } ' )
1511
1515
1512
1516
if no_build :
@@ -1533,7 +1537,9 @@ def _build_and_run(self, filename, expected_output, args=None, output_nicerizer=
1533
1537
js_output = self .run_js (js_file , engine , args ,
1534
1538
output_nicerizer = output_nicerizer ,
1535
1539
assert_returncode = assert_returncode ,
1536
- interleaved_output = interleaved_output )
1540
+ interleaved_output = interleaved_output ,
1541
+ timeout = timeout ,
1542
+ timeout_as_error = timeout_as_error )
1537
1543
js_output = js_output .replace ('\r \n ' , '\n ' )
1538
1544
if expected_output :
1539
1545
if type (expected_output ) not in [list , tuple ]:
0 commit comments