@@ -4139,6 +4139,13 @@ def test_exported_runtime_methods_from_js_library(self):
4139
4139
''')
4140
4140
self.do_runf('hello_world.c', 'done', emcc_args=['--pre-js=pre.js', '-sEXPORTED_RUNTIME_METHODS=ptrToString'])
4141
4141
4142
+ # Same again but using EXPORTED_FUNCTIONS instead.
4143
+ self.do_runf('hello_world.c', 'done', emcc_args=['--pre-js=pre.js', '-sEXPORTED_FUNCTIONS=ptrToString,_main'])
4144
+
4145
+ # Check that when ptrToString is not exported we get a reasonable error message
4146
+ err = self.do_runf('hello_world.c', assert_returncode=NON_ZERO, emcc_args=['--pre-js=pre.js'])
4147
+ self.assertContained("Aborted('ptrToString' was not exported. add it to EXPORTED_RUNTIME_METHODS", err)
4148
+
4142
4149
@crossplatform
4143
4150
def test_fs_stream_proto(self):
4144
4151
create_file('src.c', br'''
@@ -4943,8 +4950,8 @@ def test_jslib_exported_functions(self):
4943
4950
$Foo: () => 43,
4944
4951
});
4945
4952
''')
4946
- self.run_process([EMCC, test_file('hello_world.c') , '--js-library=lib.js', '-sEXPORTED_FUNCTIONS= Foo,_main'] )
4947
- self.assertContained("Module['Foo'] = ", read_file('a.out. js') )
4953
+ create_file('post.js' , 'console.log("Foo:", Module. Foo())' )
4954
+ self.do_runf(test_file('hello_world.c'), emcc_args=['--post-js=post.js', '--js-library=lib. js', '-sEXPORTED_FUNCTIONS=Foo,_main'] )
4948
4955
4949
4956
def test_jslib_search_path(self):
4950
4957
create_file('libfoo.js', '''
0 commit comments