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); }