From fec1b2a5a4324a7eecdfbb2471931f3b6b0139c5 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Wed, 31 Mar 2021 16:37:38 +0200 Subject: refactor: new optimized op-layer using serde_v8 (#9843) - Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups --- cli/tests/unit/dispatch_json_test.ts | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 cli/tests/unit/dispatch_json_test.ts (limited to 'cli/tests/unit/dispatch_json_test.ts') diff --git a/cli/tests/unit/dispatch_json_test.ts b/cli/tests/unit/dispatch_json_test.ts deleted file mode 100644 index 3cb9506dd..000000000 --- a/cli/tests/unit/dispatch_json_test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { assertMatch, assertStrictEquals, unitTest } from "./test_util.ts"; - -declare global { - // deno-lint-ignore no-namespace - namespace Deno { - // deno-lint-ignore no-explicit-any - var core: any; // eslint-disable-line no-var - } -} - -unitTest(function malformedJsonControlBuffer(): void { - const opId = Deno.core.ops()["op_open_sync"]; - const argsBuf = new Uint8Array([1, 2, 3, 4, 5]); - const resBuf = Deno.core.send(opId, argsBuf); - const resText = new TextDecoder().decode(resBuf); - const resObj = JSON.parse(resText); - assertStrictEquals(resObj.ok, undefined); - assertStrictEquals(resObj.err.className, "SyntaxError"); - assertMatch(resObj.err.message, /\bexpected value\b/); -}); - -unitTest(function invalidRequestId(): void { - const opId = Deno.core.ops()["op_open_async"]; - const reqBuf = new Uint8Array([0, 0, 0, 0, 0, 0, 0]); - const resBuf = Deno.core.send(opId, reqBuf); - const resText = new TextDecoder().decode(resBuf); - const resObj = JSON.parse(resText); - console.error(resText); - assertStrictEquals(resObj.ok, undefined); - assertStrictEquals(resObj.err.className, "TypeError"); - assertMatch(resObj.err.message, /\brequestId\b/); -}); -- cgit v1.2.3