@@ -1038,12 +1038,8 @@ def require_wasm64(self):
1038
1038
if self .is_browser_test ():
1039
1039
return
1040
1040
1041
- nodejs = self .get_nodejs ()
1042
- if nodejs :
1043
- version = shared .get_node_version (nodejs )
1044
- if version >= (24 , 0 , 0 ):
1045
- self .js_engines = [nodejs ]
1046
- return
1041
+ if self .try_require_node_version (24 ):
1042
+ return
1047
1043
1048
1044
if config .V8_ENGINE and config .V8_ENGINE in self .js_engines :
1049
1045
self .emcc_args .append ('-sENVIRONMENT=shell' )
@@ -1055,16 +1051,23 @@ def require_wasm64(self):
1055
1051
else :
1056
1052
self .fail ('either d8 or node >= 24 required to run wasm64 tests. Use EMTEST_SKIP_WASM64 to skip' )
1057
1053
1054
+ def try_require_node_version (self , major , minor = 0 , revision = 0 ):
1055
+ nodejs = self .get_nodejs ()
1056
+ if not nodejs :
1057
+ self .skipTest ('Test requires nodejs to run' )
1058
+ version = shared .get_node_version (nodejs )
1059
+ if version < (major , minor , revision ):
1060
+ return False
1061
+
1062
+ self .js_engines = [nodejs ]
1063
+ return True
1064
+
1058
1065
def require_simd (self ):
1059
1066
if self .is_browser_test ():
1060
1067
return
1061
1068
1062
- nodejs = self .get_nodejs ()
1063
- if nodejs :
1064
- version = shared .get_node_version (nodejs )
1065
- if version >= (16 , 0 , 0 ):
1066
- self .js_engines = [nodejs ]
1067
- return
1069
+ if self .try_require_node_version (16 ):
1070
+ return
1068
1071
1069
1072
if config .V8_ENGINE and config .V8_ENGINE in self .js_engines :
1070
1073
self .emcc_args .append ('-sENVIRONMENT=shell' )
@@ -1078,12 +1081,8 @@ def require_simd(self):
1078
1081
1079
1082
def require_wasm_legacy_eh (self ):
1080
1083
self .set_setting ('WASM_LEGACY_EXCEPTIONS' )
1081
- nodejs = self .get_nodejs ()
1082
- if nodejs :
1083
- version = shared .get_node_version (nodejs )
1084
- if version >= (17 , 0 , 0 ):
1085
- self .js_engines = [nodejs ]
1086
- return
1084
+ if self .try_require_node_version (17 ):
1085
+ return
1087
1086
1088
1087
if config .V8_ENGINE and config .V8_ENGINE in self .js_engines :
1089
1088
self .emcc_args .append ('-sENVIRONMENT=shell' )
0 commit comments