@@ -3849,18 +3849,17 @@ def test_js_internal_deps(self):
38493849 err = self.run_process([EMCC, 'src.c', '--js-library', 'lib.js'], stderr=PIPE).stderr
38503850 self.assertContained("warning: user library symbol 'jslibfunc' depends on internal symbol '$callRuntimeCallbacks'", err)
38513851
3852- def test_js_lib_sig_mismatch (self):
3852+ def test_js_lib_sig_redefinition (self):
38533853 create_file('lib.js', r'''
38543854mergeInto(LibraryManager.library, {
38553855 jslibfunc__sig: 'ii',
38563856 jslibfunc: function(x) {},
38573857});
38583858
38593859mergeInto(LibraryManager.library, {
3860- jslibfunc__sig: 'dd ',
3860+ jslibfunc__sig: 'ii ',
38613861 jslibfunc: function(x) {},
38623862});
3863-
38643863''')
38653864 create_file('src.c', r'''
38663865#include <stdio.h>
@@ -3869,8 +3868,18 @@ def test_js_lib_sig_mismatch(self):
38693868 printf("c calling: %d\n", jslibfunc());
38703869}
38713870''')
3872- err = self.expect_fail([EMCC, 'src.c', '--js-library', 'lib.js'])
3873- self.assertContained('lib.js: Signature redefinition for: jslibfunc__sig. (old=ii vs new=dd)', err)
3871+ err = self.run_process([EMCC, 'src.c', '--js-library', 'lib.js'], stderr=PIPE).stderr
3872+ self.assertContained('lib.js: signature redefinition for: jslibfunc__sig. (old=ii vs new=ii)', err)
3873+
3874+ # Add another redefinition, this time not matching
3875+ create_file('lib2.js', r'''
3876+ mergeInto(LibraryManager.library, {
3877+ jslibfunc__sig: 'pp',
3878+ jslibfunc: function(x) {},
3879+ });
3880+ ''')
3881+ err = self.expect_fail([EMCC, 'src.c', '--js-library', 'lib.js', '--js-library', 'lib2.js'])
3882+ self.assertContained('lib2.js: signature redefinition for: jslibfunc__sig. (old=ii vs new=pp)', err)
38743883
38753884 def test_js_lib_invalid_deps(self):
38763885 create_file('lib.js', r'''
0 commit comments