@needs_dlfcn
def test_dylink_funcpointers_wrapper(self):
    self.dylink_test(main='\\\n      #include <stdio.h>\n      #include "header.h"\n      int main(int argc, char **argv) {\n        charfunc f1 = emscripten_run_script;\n        f1("out(\'one\')");\n        charfunc f2 = get();\n        f2("out(\'two\')");\n        return 0;\n      }\n      ', side='      #include "header.h"\n      charfunc get() {\n        return emscripten_run_script;\n      }\n      ', expected='one\ntwo\n', header='      #include <emscripten.h>\n      typedef void (*charfunc)(const char*);\n      extern charfunc get();\n      ')
@needs_dlfcn
def test_dylink_funcpointers_wrapper(self):
    self.dylink_test(main='\\\n      #include <stdio.h>\n      #include "header.h"\n      int main(int argc, char **argv) {\n        charfunc f1 = emscripten_run_script;\n        f1("out(\'one\')");\n        charfunc f2 = get();\n        f2("out(\'two\')");\n        return 0;\n      }\n      ', side='      #include "header.h"\n      charfunc get() {\n        return emscripten_run_script;\n      }\n      ', expected='one\ntwo\n', header='      #include <emscripten.h>\n      typedef void (*charfunc)(const char*);\n      extern charfunc get();\n      ')