@parameterized({'normal': ([], True), 'blacklist_a': (['-s', 'ASYNCIFY_BLACKLIST=["foo(int, double)"]'], False), 'blacklist_b': (['-s', 'ASYNCIFY_BLACKLIST=["bar()"]'], True), 'blacklist_c': (['-s', 'ASYNCIFY_BLACKLIST=["baz()"]'], False), 'whitelist_a': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()","bar()"]'], True), 'whitelist_b': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()"]'], True), 'whitelist_c': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz"]'], False), 'whitelist_d': (['-s', 'ASYNCIFY_WHITELIST=["foo(int, double)","baz()","c_baz","Structy::funcy()"]'], False), 'whitelist_b_response': ([], True, '["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()"]'), 'whitelist_c_response': ([], False, '["main","__original_main","foo(int, double)","baz()","c_baz"]')})
@no_asan('asan is not compatible with asyncify stack operations; may also need to not instrument asan_c_load_4, TODO')
@no_fastcomp('new asyncify only')
def test_asyncify_lists(self, args, should_pass, response=None):
    if (response is not None):
        create_test_file('response.file', response)
        self.emcc_args += ['-s', 'example@example.com']
    self.set_setting('ASYNCIFY', 1)
    self.emcc_args += args
    try:
        self.do_run_in_out_file_test('tests', 'core', 'test_asyncify_lists', assert_identical=True)
        if (not should_pass):
            should_pass = True
            raise Exception('should not have passed')
    except Exception:
        if should_pass:
            raise
@parameterized({'normal': ([], True), 'blacklist_a': (['-s', 'ASYNCIFY_BLACKLIST=["foo(int, double)"]'], False), 'blacklist_b': (['-s', 'ASYNCIFY_BLACKLIST=["bar()"]'], True), 'blacklist_c': (['-s', 'ASYNCIFY_BLACKLIST=["baz()"]'], False), 'whitelist_a': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()","bar()"]'], True), 'whitelist_b': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()"]'], True), 'whitelist_c': (['-s', 'ASYNCIFY_WHITELIST=["main","__original_main","foo(int, double)","baz()","c_baz"]'], False), 'whitelist_d': (['-s', 'ASYNCIFY_WHITELIST=["foo(int, double)","baz()","c_baz","Structy::funcy()"]'], False), 'whitelist_b_response': ([], True, '["main","__original_main","foo(int, double)","baz()","c_baz","Structy::funcy()"]'), 'whitelist_c_response': ([], False, '["main","__original_main","foo(int, double)","baz()","c_baz"]')})
@no_asan('asan is not compatible with asyncify stack operations; may also need to not instrument asan_c_load_4, TODO')
@no_fastcomp('new asyncify only')
def test_asyncify_lists(self, args, should_pass, response=None):
    if (response is not None):
        create_test_file('response.file', response)
        self.emcc_args += ['-s', 'example@example.com']
    self.set_setting('ASYNCIFY', 1)
    self.emcc_args += args
    try:
        self.do_run_in_out_file_test('tests', 'core', 'test_asyncify_lists', assert_identical=True)
        if (not should_pass):
            should_pass = True
            raise Exception('should not have passed')
    except Exception:
        if should_pass:
            raise