summaryrefslogtreecommitdiff
path: root/tests/napi/common.js
blob: 6dfdc873a862e74947c40186295a7a0a0e87d7c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

export { assert, assertEquals, assertRejects, assertThrows } from "@std/assert";
export { fromFileUrl } from "@std/path";
import process from "node:process";

const targetDir = Deno.execPath().replace(/[^\/\\]+$/, "");
export const [libPrefix, libSuffix] = {
  darwin: ["lib", "dylib"],
  linux: ["lib", "so"],
  windows: ["", "dll"],
}[Deno.build.os];

export function loadTestLibrary() {
  const specifier = `${targetDir}/${libPrefix}test_napi.${libSuffix}`;

  // Internal, used in ext/node
  const module = {};
  // Pass some flag, it should be ignored, but make sure it doesn't print
  // warnings.
  process.dlopen(module, specifier, 0);
  return module.exports;
}