diff options
Diffstat (limited to 'test_plugin/tests')
-rw-r--r-- | test_plugin/tests/integration_tests.rs | 58 | ||||
-rw-r--r-- | test_plugin/tests/test.js | 135 |
2 files changed, 0 insertions, 193 deletions
diff --git a/test_plugin/tests/integration_tests.rs b/test_plugin/tests/integration_tests.rs deleted file mode 100644 index e408f59db..000000000 --- a/test_plugin/tests/integration_tests.rs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. - -use std::process::Command; -use test_util::deno_cmd; - -#[cfg(debug_assertions)] -const BUILD_VARIANT: &str = "debug"; - -#[cfg(not(debug_assertions))] -const BUILD_VARIANT: &str = "release"; - -#[test] -fn basic() { - let mut build_plugin_base = Command::new("cargo"); - let mut build_plugin = - build_plugin_base.arg("build").arg("-p").arg("test_plugin"); - if BUILD_VARIANT == "release" { - build_plugin = build_plugin.arg("--release"); - } - let build_plugin_output = build_plugin.output().unwrap(); - assert!(build_plugin_output.status.success()); - let output = deno_cmd() - .arg("run") - .arg("--allow-plugin") - .arg("--unstable") - .arg("tests/test.js") - .arg(BUILD_VARIANT) - .output() - .unwrap(); - let stdout = std::str::from_utf8(&output.stdout).unwrap(); - let stderr = std::str::from_utf8(&output.stderr).unwrap(); - if !output.status.success() { - println!("stdout {}", stdout); - println!("stderr {}", stderr); - } - println!("{:?}", output.status); - assert!(output.status.success()); - let expected = "\ - Plugin rid: 3\n\ - Hello from sync plugin op.\n\ - args: TestArgs { val: \"1\" }\n\ - zero_copy: test\n\ - op_test_sync returned: test\n\ - Hello from async plugin op.\n\ - args: TestArgs { val: \"1\" }\n\ - zero_copy: 123\n\ - op_test_async returned: test\n\ - Hello from resource_table.add plugin op.\n\ - TestResource rid: 4\n\ - Hello from resource_table.get plugin op.\n\ - TestResource get value: hello plugin!\n\ - Hello from sync plugin op.\n\ - args: TestArgs { val: \"1\" }\n\ - Ops completed count is correct!\n\ - Ops dispatched count is correct!\n"; - assert_eq!(stdout, expected); - assert_eq!(stderr, ""); -} diff --git a/test_plugin/tests/test.js b/test_plugin/tests/test.js deleted file mode 100644 index 2a2fa66b3..000000000 --- a/test_plugin/tests/test.js +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file - -const filenameBase = "test_plugin"; - -let filenameSuffix = ".so"; -let filenamePrefix = "lib"; - -if (Deno.build.os === "windows") { - filenameSuffix = ".dll"; - filenamePrefix = ""; -} else if (Deno.build.os === "darwin") { - filenameSuffix = ".dylib"; -} - -const filename = `../target/${ - Deno.args[0] -}/${filenamePrefix}${filenameBase}${filenameSuffix}`; - -const resourcesPre = Deno.resources(); - -const pluginRid = Deno.openPlugin(filename); -console.log(`Plugin rid: ${pluginRid}`); - -const { - op_test_sync, - op_test_async, - op_test_resource_table_add, - op_test_resource_table_get, -} = Deno.core.ops(); - -if ( - op_test_sync === null || - op_test_async === null || - op_test_resource_table_add === null || - op_test_resource_table_get === null -) { - throw new Error("Not all expected ops were registered"); -} - -function runTestSync() { - const result = Deno.core.opSync( - "op_test_sync", - { val: "1" }, - new Uint8Array([116, 101, 115, 116]), - ); - - console.log(`op_test_sync returned: ${result}`); - - if (result !== "test") { - throw new Error("op_test_sync returned an unexpected value!"); - } -} - -async function runTestAsync() { - const promise = Deno.core.opAsync( - "op_test_async", - { val: "1" }, - new Uint8Array([49, 50, 51]), - ); - - if (!(promise instanceof Promise)) { - throw new Error("Expected promise!"); - } - - const result = await promise; - console.log(`op_test_async returned: ${result}`); - - if (result !== "test") { - throw new Error("op_test_async promise resolved to an unexpected value!"); - } -} - -function runTestResourceTable() { - const expect = "hello plugin!"; - - const testRid = Deno.core.opSync("op_test_resource_table_add", expect); - console.log(`TestResource rid: ${testRid}`); - - if (testRid === null || Deno.resources()[testRid] !== "TestResource") { - throw new Error("TestResource was not found!"); - } - - const testValue = Deno.core.opSync("op_test_resource_table_get", testRid); - console.log(`TestResource get value: ${testValue}`); - - if (testValue !== expect) { - throw new Error("Did not get correct resource value!"); - } - - Deno.close(testRid); -} - -function runTestOpCount() { - const start = Deno.metrics(); - - Deno.core.opSync("op_test_sync", { val: "1" }); - - const end = Deno.metrics(); - - if (end.opsCompleted - start.opsCompleted !== 1) { - throw new Error("The opsCompleted metric is not correct!"); - } - console.log("Ops completed count is correct!"); - - if (end.opsDispatched - start.opsDispatched !== 1) { - throw new Error("The opsDispatched metric is not correct!"); - } - console.log("Ops dispatched count is correct!"); -} - -function runTestPluginClose() { - // Closing does not yet work - Deno.close(pluginRid); - - const resourcesPost = Deno.resources(); - - const preStr = JSON.stringify(resourcesPre, null, 2); - const postStr = JSON.stringify(resourcesPost, null, 2); - if (preStr !== postStr) { - throw new Error( - `Difference in open resources before openPlugin and after Plugin.close(): -Before: ${preStr} -After: ${postStr}`, - ); - } - console.log("Correct number of resources"); -} - -runTestSync(); -await runTestAsync(); -runTestResourceTable(); - -runTestOpCount(); -// runTestPluginClose(); |