diff options
Diffstat (limited to 'packages/integrations/netlify/test/edge-functions/test-utils.ts')
-rw-r--r-- | packages/integrations/netlify/test/edge-functions/test-utils.ts | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/integrations/netlify/test/edge-functions/test-utils.ts b/packages/integrations/netlify/test/edge-functions/test-utils.ts index 826f64d37..72b411d38 100644 --- a/packages/integrations/netlify/test/edge-functions/test-utils.ts +++ b/packages/integrations/netlify/test/edge-functions/test-utils.ts @@ -1,5 +1,5 @@ // @ts-ignore -import { fromFileUrl } from './deps.ts'; +import { fromFileUrl, readableStreamFromReader } from './deps.ts'; const dir = new URL('./', import.meta.url); export async function runBuild(fixturePath: string) { @@ -11,3 +11,21 @@ export async function runBuild(fixturePath: string) { await proc.status(); return async () => await proc.close(); } + +export async function runApp(entryPath: string) { + const entryUrl = new URL(entryPath, dir) + let proc = Deno.run({ + cmd: ['deno', 'run', '--allow-env', '--allow-net', fromFileUrl(entryUrl)], + //cwd: fromFileUrl(entryUrl), + stderr: 'piped' + }); + const stderr = readableStreamFromReader(proc.stderr); + const dec = new TextDecoder(); + for await(let bytes of stderr) { + let msg = dec.decode(bytes); + if(msg.includes(`Server running`)) { + break; + } + } + return () => proc.close(); +} |