summaryrefslogtreecommitdiff
path: root/test_ffi
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-07-09 18:41:07 +0530
committerGitHub <noreply@github.com>2022-07-09 18:41:07 +0530
commit132c761e87679aec52b9ed8324ee2a4b00705620 (patch)
tree19c83a4e474c1e860bdee5e77d12395e1307f402 /test_ffi
parent3da182b0b86d93000d4473188f361ffa2de9fb73 (diff)
fix(ext/ffi): allow opting out of fast ffi calls (#15131)
Diffstat (limited to 'test_ffi')
-rw-r--r--test_ffi/tests/ffi_types.ts2
-rw-r--r--test_ffi/tests/test.js6
2 files changed, 6 insertions, 2 deletions
diff --git a/test_ffi/tests/ffi_types.ts b/test_ffi/tests/ffi_types.ts
index dde08155d..172c429e8 100644
--- a/test_ffi/tests/ffi_types.ts
+++ b/test_ffi/tests/ffi_types.ts
@@ -5,7 +5,7 @@
const remote = Deno.dlopen(
"dummy_lib.so",
{
- method1: { parameters: ["usize", "usize"], result: "void" },
+ method1: { parameters: ["usize", "usize"], result: "void", callback: true },
method2: { parameters: [], result: "void" },
method3: { parameters: ["usize"], result: "void" },
method4: { parameters: ["isize"], result: "void" },
diff --git a/test_ffi/tests/test.js b/test_ffi/tests/test.js
index af2f522a6..94c2069c0 100644
--- a/test_ffi/tests/test.js
+++ b/test_ffi/tests/test.js
@@ -164,10 +164,12 @@ const dylib = Deno.dlopen(libPath, {
call_stored_function: {
parameters: [],
result: "void",
+ callback: true,
},
call_stored_function_2: {
parameters: ["u8"],
result: "void",
+ callback: true,
},
// Statics
"static_u32": {
@@ -372,12 +374,14 @@ assertThrows(
"hi",
);
+const { call_stored_function } = dylib.symbols;
+
dylib.symbols.call_fn_ptr(ptr(logCallback));
dylib.symbols.call_fn_ptr_many_parameters(ptr(logManyParametersCallback));
dylib.symbols.call_fn_ptr_return_u8(ptr(returnU8Callback));
dylib.symbols.call_fn_ptr_return_buffer(ptr(returnBufferCallback));
dylib.symbols.store_function(ptr(logCallback));
-dylib.symbols.call_stored_function();
+call_stored_function();
dylib.symbols.store_function_2(ptr(add10Callback));
dylib.symbols.call_stored_function_2(20);