From d377e8ba146c4c597f7cf2041d4d5186a0977b50 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Tue, 4 Jan 2022 18:01:10 +0000 Subject: Fix JS tests, discover bug --- test/gleam_stdlib_test_ffi.mjs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 test/gleam_stdlib_test_ffi.mjs (limited to 'test/gleam_stdlib_test_ffi.mjs') diff --git a/test/gleam_stdlib_test_ffi.mjs b/test/gleam_stdlib_test_ffi.mjs new file mode 100755 index 0000000..e948e0f --- /dev/null +++ b/test/gleam_stdlib_test_ffi.mjs @@ -0,0 +1,35 @@ +import { opendir } from "fs/promises"; + +const dir = "build/dev/javascript/gleam_stdlib/dist/gleam/"; + +export async function main() { + console.log("Running tests..."); + + let passes = 0; + let failures = 0; + + for await (let entry of await opendir(dir)) { + if (!entry.name.endsWith("_test.mjs")) continue; + let module = await import("./gleam/" + entry.name); + + for (let fnName of Object.keys(module)) { + if (!fnName.endsWith("_test")) continue; + try { + module[fnName](); + process.stdout.write(`\u001b[32m.\u001b[0m`); + passes++; + } catch (error) { + let moduleName = "\ngleam/" + entry.name.slice(0, -3); + process.stdout.write(`\n❌ ${moduleName}.${fnName}: ${error}\n`); + failures++; + } + } + } + + console.log(` + +${passes + failures} tests +${passes} passes +${failures} failures`); + process.exit(failures ? 1 : 0); +} -- cgit v1.2.3