diff --git a/test/test_other.py b/test/test_other.py index 1459f1f34a040..c4213a549fef0 100644 --- a/test/test_other.py +++ b/test/test_other.py @@ -1928,7 +1928,7 @@ def test_export_from_archive(self): @parameterized({ 'embed': (['--embed-file', 'somefile.txt'],), 'embed_twice': (['--embed-file', 'somefile.txt', '--embed-file', 'somefile.txt'],), - 'preload': (['--preload-file', 'somefile.txt'],), + 'preload': (['--preload-file', 'somefile.txt', '-sSTRICT'],), 'preload_closure': (['--preload-file', 'somefile.txt', '-O2', '--closure=1'],), 'preload_and_embed': (['--preload-file', 'somefile.txt', '--embed-file', 'hello.txt'],) }) diff --git a/tools/link.py b/tools/link.py index 7f8d25926e2d4..b7759ff0b0b24 100644 --- a/tools/link.py +++ b/tools/link.py @@ -1206,6 +1206,10 @@ def phase_linker_setup(options, state, newargs): # if we include any files, or intend to use preload plugins, then we definitely need filesystem support settings.FORCE_FILESYSTEM = 1 + if options.preload_files: + # File preloading uses `Module['preRun']`. + settings.INCOMING_MODULE_JS_API.append('preRun') + if settings.FORCE_FILESYSTEM and not settings.FILESYSTEM: exit_with_error('`-sFORCE_FILESYSTEM` cannot be used with `-sFILESYSTEM=0`')