From df084b9f14e06f866f18206e8051c4721702fb44 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Mon, 23 Aug 2021 18:31:19 +0200 Subject: fix(ext/ffi): don't panic on invalid enum values (#11815) Co-authored-by: Feng Yu --- cli/tests/unit/ffi_test.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 cli/tests/unit/ffi_test.ts (limited to 'cli/tests') diff --git a/cli/tests/unit/ffi_test.ts b/cli/tests/unit/ffi_test.ts new file mode 100644 index 000000000..ab25df699 --- /dev/null +++ b/cli/tests/unit/ffi_test.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. + +import { assertThrows, unitTest } from "./test_util.ts"; + +unitTest(function dlopenInvalidArguments() { + const filename = "/usr/lib/libc.so.6"; + assertThrows(() => { + // @ts-expect-error: ForeignFunction cannot be null + Deno.dlopen(filename, { malloc: null }); + }, TypeError); + assertThrows(() => { + Deno.dlopen(filename, { + // @ts-expect-error: invalid NativeType + malloc: { parameters: ["a"], result: "b" }, + }); + }, TypeError); + assertThrows(() => { + // @ts-expect-error: DynamicLibrary symbols cannot be null + Deno.dlopen(filename, null); + }, TypeError); + assertThrows(() => { + // @ts-expect-error: require 2 arguments + Deno.dlopen(filename); + }, TypeError); +}); -- cgit v1.2.3