From 68119e1d7ed23421ccdcba20532ebe9ae3df9f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 10 Mar 2020 01:06:47 +0100 Subject: reorg: move js runtime tests to cli/js/tests/ (#4250) All Deno runtime test files were moved to cli/js/tests/ directory. It makes a clear distinction that cli/js/tests/ contains code that is run under Deno runtime as opposed to code in cli/js/ which is used to create bundle and snapshot with "deno_typescript". --- cli/js/unit_test_runner.ts | 103 --------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100755 cli/js/unit_test_runner.ts (limited to 'cli/js/unit_test_runner.ts') diff --git a/cli/js/unit_test_runner.ts b/cli/js/unit_test_runner.ts deleted file mode 100755 index f32de96f8..000000000 --- a/cli/js/unit_test_runner.ts +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env -S deno run --reload --allow-run -// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import "./unit_tests.ts"; -import { - permissionCombinations, - parseUnitTestOutput, - Permissions -} from "./test_util.ts"; - -interface TestResult { - perms: string; - output?: string; - result: number; -} - -function permsToCliFlags(perms: Permissions): string[] { - return Object.keys(perms) - .map(key => { - if (!perms[key as keyof Permissions]) return ""; - - const cliFlag = key.replace( - /\.?([A-Z])/g, - (x, y): string => `-${y.toLowerCase()}` - ); - return `--allow-${cliFlag}`; - }) - .filter((e): boolean => e.length > 0); -} - -function fmtPerms(perms: Permissions): string { - let fmt = permsToCliFlags(perms).join(" "); - - if (!fmt) { - fmt = ""; - } - - return fmt; -} - -async function main(): Promise { - console.log( - "Discovered permission combinations for tests:", - permissionCombinations.size - ); - - for (const perms of permissionCombinations.values()) { - console.log("\t" + fmtPerms(perms)); - } - - const testResults = new Set(); - - for (const perms of permissionCombinations.values()) { - const permsFmt = fmtPerms(perms); - console.log(`Running tests for: ${permsFmt}`); - const cliPerms = permsToCliFlags(perms); - // run subsequent tests using same deno executable - const args = [Deno.execPath(), "run", ...cliPerms, "cli/js/unit_tests.ts"]; - - const p = Deno.run({ - args, - stdout: "piped" - }); - - const { actual, expected, resultOutput } = await parseUnitTestOutput( - p.stdout!, - true - ); - - let result = 0; - - if (!actual && !expected) { - console.error("Bad cli/js/unit_test.ts output"); - result = 1; - } else if (expected !== actual) { - result = 1; - } - - testResults.add({ - perms: permsFmt, - output: resultOutput, - result - }); - } - - // if any run tests returned non-zero status then whole test - // run should fail - let testsFailed = false; - - for (const testResult of testResults) { - console.log(`Summary for ${testResult.perms}`); - console.log(testResult.output + "\n"); - testsFailed = testsFailed || Boolean(testResult.result); - } - - if (testsFailed) { - console.error("Unit tests failed"); - Deno.exit(1); - } - - console.log("Unit tests passed"); -} - -main(); -- cgit v1.2.3