From 8886e1b55f3495b3b798825274a910e5f231a74b Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Fri, 18 May 2018 20:39:20 -0400 Subject: Initial support for remote imports --- test.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'test.js') diff --git a/test.js b/test.js index e9ae77755..36c0b58d3 100755 --- a/test.js +++ b/test.js @@ -4,7 +4,22 @@ const fs = require("fs"); const path = require("path"); -const { execFileSync } = require("child_process"); +const { spawn, execFileSync } = require("child_process"); + +// Some tests require an HTTP server. We start one here. +// Because we process tests synchronously in this program we must run +// the server as a subprocess. +// Note that "localhost:4545" is hardcoded into the tests at the moment, +// so if the server runs on a different port, it will fail. +const httpServerArgs = ["node_modules/.bin/http-server", __dirname, "-p 4545"]; +const server = spawn(process.execPath, httpServerArgs, { + cwd: __dirname, + stdio: "inherit" +}); +// TODO: For some reason the http-server doesn't exit properly +// when this program dies. So we force it with the exit handler here. +server.unref(); +process.on("exit", () => server.kill("SIGINT")); const testdataDir = path.join(__dirname, "testdata"); const denoFn = path.join(__dirname, "deno"); @@ -33,3 +48,5 @@ ${outFileBuffer.toString()} `); } } + +console.log("Tests done"); -- cgit v1.2.3