Skip to content

Commit 3d6737e

Browse files
committed
enable isolation for all presets
1 parent c1aaae1 commit 3d6737e

2 files changed

Lines changed: 12 additions & 15 deletions

File tree

test/presets/node.test.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import { existsSync, promises as fsp } from "node:fs";
2-
import { tmpdir } from "node:os";
3-
import fse from "fs-extra";
42
import { resolve } from "pathe";
53
import { describe, it, expect } from "vitest";
64
import { isWindows } from "std-env";
@@ -10,14 +8,7 @@ describe("nitro:preset:node", async () => {
108
const ctx = await setupTest("node");
119

1210
testNitro(ctx, async () => {
13-
// Copy the server files to an isolated directory from (repo) node_modules
14-
const tmpOutputDir = resolve(tmpdir(), "nitro-tests/node");
15-
await fsp.rm(tmpOutputDir, { recursive: true }).catch(() => {});
16-
await fsp.mkdir(tmpOutputDir, { recursive: true });
17-
await fse.copy(resolve(ctx.outDir), tmpOutputDir);
18-
19-
const entryPath = resolve(tmpOutputDir, "server/index.mjs");
20-
// console.log("entry", entryPath);
11+
const entryPath = resolve(ctx.outDir, "server/index.mjs");
2112
const { listener } = await import(entryPath);
2213

2314
await startServer(ctx, listener);

test/tests.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
import { resolve } from "pathe";
1+
import { tmpdir } from "node:os";
2+
import { promises as fsp } from "node:fs";
3+
import { join, resolve } from "pathe";
24
import { listen, Listener } from "listhen";
5+
import fse from "fs-extra";
36
import destr from "destr";
47
import { fetch, FetchOptions } from "ofetch";
58
import { expect, it, afterAll, beforeAll, describe } from "vitest";
@@ -35,16 +38,19 @@ export const describeIf = (condition, title, factory) =>
3538

3639
export async function setupTest(preset: string) {
3740
const fixtureDir = fileURLToPath(new URL("fixture", import.meta.url).href);
38-
39-
const presetTempDir = fileURLToPath(
40-
new URL(`presets/.tmp/${preset}`, import.meta.url).href
41+
const presetTempDir = resolve(
42+
process.env.NITRO_TEST_TMP_DIR || join(tmpdir(), "nitro-tests"),
43+
preset
4144
);
4245

46+
await fsp.rm(presetTempDir, { recursive: true }).catch(() => {});
47+
await fsp.mkdir(presetTempDir, { recursive: true });
48+
4349
const ctx: Context = {
4450
preset,
4551
isDev: preset === "nitro-dev",
4652
rootDir: fixtureDir,
47-
outDir: resolve(fixtureDir, presetTempDir, ".output"),
53+
outDir: resolve(fixtureDir, presetTempDir, "output"),
4854
fetch: (url, opts) =>
4955
fetch(joinURL(ctx.server!.url, url.slice(1)), {
5056
redirect: "manual",

0 commit comments

Comments
 (0)