@@ -1096,12 +1096,9 @@ def require_wasm_legacy_eh(self):
10961096
10971097 def require_wasm_eh (self ):
10981098 self .set_setting ('WASM_LEGACY_EXCEPTIONS' , 0 )
1099- nodejs = self .get_nodejs ()
1100- if nodejs :
1101- if self .node_is_canary (nodejs ):
1102- self .js_engines = [nodejs ]
1103- self .node_args .append ('--experimental-wasm-exnref' )
1104- return
1099+ if self .try_require_node_version (24 ):
1100+ self .node_args .append ('--experimental-wasm-exnref' )
1101+ return
11051102
11061103 if self .is_browser_test ():
11071104 return
@@ -1113,9 +1110,9 @@ def require_wasm_eh(self):
11131110 return
11141111
11151112 if 'EMTEST_SKIP_EH' in os .environ :
1116- self .skipTest ('test requires canary or d8 (and EMTEST_SKIP_EH is set)' )
1113+ self .skipTest ('test requires node v24 or d8 (and EMTEST_SKIP_EH is set)' )
11171114 else :
1118- self .fail ('either d8 or node canary required to run wasm-eh tests. Use EMTEST_SKIP_EH to skip' )
1115+ self .fail ('either d8 or node v24 required to run wasm-eh tests. Use EMTEST_SKIP_EH to skip' )
11191116
11201117 def require_jspi (self ):
11211118 # emcc warns about stack switching being experimental, and we build with
@@ -1131,13 +1128,10 @@ def require_jspi(self):
11311128 return
11321129
11331130 exp_args = ['--experimental-wasm-stack-switching' , '--experimental-wasm-type-reflection' ]
1134- nodejs = self .get_nodejs ()
1135- if nodejs :
1136- # Support for JSPI came earlier than 22, but the new API changes are not yet in any node
1137- if self .node_is_canary (nodejs ):
1138- self .js_engines = [nodejs ]
1139- self .node_args += exp_args
1140- return
1131+ # Support for JSPI came earlier than 22, but the new API changes require v24
1132+ if self .try_require_node_version (24 ):
1133+ self .node_args += exp_args
1134+ return
11411135
11421136 if config .V8_ENGINE and config .V8_ENGINE in self .js_engines :
11431137 self .emcc_args .append ('-sENVIRONMENT=shell' )
@@ -1146,9 +1140,9 @@ def require_jspi(self):
11461140 return
11471141
11481142 if 'EMTEST_SKIP_JSPI' in os .environ :
1149- self .skipTest ('test requires node canary or d8 (and EMTEST_SKIP_JSPI is set)' )
1143+ self .skipTest ('test requires node v24 or d8 (and EMTEST_SKIP_JSPI is set)' )
11501144 else :
1151- self .fail ('either d8 or node canary required to run JSPI tests. Use EMTEST_SKIP_JSPI to skip' )
1145+ self .fail ('either d8 or node v24 required to run JSPI tests. Use EMTEST_SKIP_JSPI to skip' )
11521146
11531147 def require_wasm2js (self ):
11541148 if self .is_wasm64 ():
0 commit comments