From c5ce3d137fdb274d2b94d4cef1f5ad6b491eebfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= Date: Thu, 23 Apr 2026 18:17:37 +0300 Subject: [PATCH 1/2] Fix test browser.test_audio_worklet_direct to not be attempted on too old Firefox browser versions where ES6 Module scripts are not supported. --- test/test_browser.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/test_browser.py b/test/test_browser.py index 20ed7d8d6ac18..86714f3dcf6f9 100644 --- a/test/test_browser.py +++ b/test/test_browser.py @@ -249,6 +249,10 @@ def webgl2_disabled(): return browser_should_skip_feature('EMTEST_LACKS_WEBGL2', Feature.WEBGL2) or browser_should_skip_feature('EMTEST_LACKS_GRAPHICS_HARDWARE', Feature.WEBGL2) +def es6_module_workers_disabled(): + return browser_should_skip_feature('EMTEST_LACKS_ES6_WORKERS', Feature.WORKER_ES6_MODULES) + + requires_graphics_hardware = skipIfFeatureNotAvailable('EMTEST_LACKS_GRAPHICS_HARDWARE', None, 'This test requires graphics hardware') requires_webgl2 = skipIfFeatureNotAvailable(['EMTEST_LACKS_WEBGL2', 'EMTEST_LACKS_GRAPHICS_HARDWARE'], Feature.WEBGL2, 'This test requires WebGL2 to be available') requires_webgpu = skipIfFeatureNotAvailable(['EMTEST_LACKS_WEBGPU', 'EMTEST_LACKS_GRAPHICS_HARDWARE'], Feature.WEBGPU, 'This test requires WebGPU to be available') @@ -5479,6 +5483,8 @@ def test_full_js_library_strict(self): @requires_es6_workers @requires_shared_array_buffer def test_audio_worklet(self, args): + if '-sEXPORT_ES6' in args and es6_module_workers_disabled(): + self.skipTest('This test requires a browser with ES6 Module Workers support') self.btest_exit('webaudio/audioworklet.c', cflags=['-sAUDIO_WORKLET', '-sWASM_WORKERS', '-DTEST_AND_EXIT'] + args) # Tests that audioworklets and workers can be used at the same time @@ -5529,6 +5535,9 @@ def test_audio_worklet_emscripten_locks(self): self.btest_exit('webaudio/audioworklet_emscripten_locks.c', cflags=['-sAUDIO_WORKLET', '-sWASM_WORKERS', '-pthread']) def test_audio_worklet_direct(self): + if es6_module_workers_disabled(): + self.skipTest('This test requires a browser with ES6 Module Workers support') + self.add_browser_reporting() self.emcc('hello_world.c', ['-o', 'hello_world.mjs', '-sEXPORT_ES6', '-sSINGLE_FILE', '-sENVIRONMENT=worklet']) create_file('worklet.mjs', ''' From 08058d6dc3c529aec255f3db78f606efa8708fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= Date: Thu, 23 Apr 2026 18:22:01 +0300 Subject: [PATCH 2/2] Remove annotation --- test/test_browser.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/test_browser.py b/test/test_browser.py index 86714f3dcf6f9..ebe4ea3635553 100644 --- a/test/test_browser.py +++ b/test/test_browser.py @@ -5480,7 +5480,6 @@ def test_full_js_library_strict(self): 'audio_params_disabled': (['-sAUDIO_WORKLET_SUPPORT_AUDIO_PARAMS=0'],), }) @requires_sound_hardware - @requires_es6_workers @requires_shared_array_buffer def test_audio_worklet(self, args): if '-sEXPORT_ES6' in args and es6_module_workers_disabled():