diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-09-12 12:44:15 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-09-12 12:44:15 +0100 |
commit | 7669f75f4ee16d692b1171c3329bf5e3485c1a7c (patch) | |
tree | 3a3686993ee3e6da5b968851fc7009104abb2430 /bin/run-tests.js | |
parent | 6529e7ebcd8681f2d1687d2aa8e44838c25ed279 (diff) | |
download | javascript-7669f75f4ee16d692b1171c3329bf5e3485c1a7c.tar.gz javascript-7669f75f4ee16d692b1171c3329bf5e3485c1a7c.zip |
Build script
Diffstat (limited to 'bin/run-tests.js')
-rw-r--r-- | bin/run-tests.js | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/bin/run-tests.js b/bin/run-tests.js deleted file mode 100644 index 0497367..0000000 --- a/bin/run-tests.js +++ /dev/null @@ -1,48 +0,0 @@ -import { readdir, stat } from "fs/promises"; -import { resolve, relative } from "path"; - -const dir = "target/lib/gleam_javascript"; - -async function main() { - console.log("Running tests..."); - - let passes = 0; - let failures = 0; - - for await (let path of await getFiles(dir)) { - if (!path.endsWith("_test.js")) continue; - let module = await import(path); - - for await (let fnName of Object.keys(module)) { - if (!fnName.endsWith("_test")) continue; - try { - await module[fnName](); - process.stdout.write(`\u001b[32m.\u001b[0m`); - passes++; - } catch (error) { - let moduleName = "\n" + relative(dir, path).slice(0, -3); - process.stdout.write(`\n❌ ${moduleName}.${fnName}: ${error}\n`); - failures++; - } - } - } - - console.log(` - -${passes + failures} tests -${failures} failures`); - process.exit(failures ? 1 : 0); -} - -async function getFiles(dir) { - const subdirs = await readdir(dir); - const files = await Promise.all( - subdirs.map(async (subdir) => { - const res = resolve(dir, subdir); - return (await stat(res)).isDirectory() ? getFiles(res) : res; - }) - ); - return files.reduce((a, f) => a.concat(f), []); -} - -main(); |