From 96b8c6014318ee62064c105ee575f1dda1cb42a7 Mon Sep 17 00:00:00 2001 From: Alexander Akait <4567934+alexander-akait@users.noreply.github.com> Date: Thu, 29 Oct 2026 19:18:53 +0000 Subject: [PATCH] test: give each reload test file its own CSS fixture `api-plugin`, `event-source` and `hot-and-live-reload` all rewrote `test/fixtures/reload-config/main.css`, and `node --test` runs files in parallel, so a test could see another file's colour or an extra rebuild. Give `api-plugin` and `event-source` their own copies, as `progress` already does with `reload-config-2`. Claude-Session: https://claude.ai/code/session_013FhutSnStkMpV2mZSNb8M9 --- .gitignore | 2 ++ test/e2e/api-plugin.test.js | 4 +-- test/e2e/event-source.test.js | 4 +-- test/fixtures/reload-config-3/foo.js | 1 + .../reload-config-3/webpack.config.js | 30 +++++++++++++++++++ test/fixtures/reload-config-4/foo.js | 1 + .../reload-config-4/webpack.config.js | 30 +++++++++++++++++++ 7 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/reload-config-3/foo.js create mode 100644 test/fixtures/reload-config-3/webpack.config.js create mode 100644 test/fixtures/reload-config-4/foo.js create mode 100644 test/fixtures/reload-config-4/webpack.config.js diff --git a/.gitignore b/.gitignore index 866d495151..c1d6bd6386 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,8 @@ test/fixtures/static-config/public/assets/non-exist.txt test/fixtures/watch-files-config/public/assets/non-exist.txt test/fixtures/reload-config/main.css test/fixtures/reload-config-2/main.css +test/fixtures/reload-config-3/main.css +test/fixtures/reload-config-4/main.css test/fixtures/worker-config-dev-server-false/public !/test/fixtures/static-config/public/node_modules test/fixtures/compatibility-config/changing.cjs diff --git a/test/e2e/api-plugin.test.js b/test/e2e/api-plugin.test.js index 006443795e..64279fc1ea 100644 --- a/test/e2e/api-plugin.test.js +++ b/test/e2e/api-plugin.test.js @@ -11,7 +11,7 @@ import WebSocket from "ws"; import Server from "../../lib/Server.js"; import config from "../fixtures/client-config/webpack.config.js"; import multiCompilerConfig from "../fixtures/multi-compiler-two-configurations/webpack.config.js"; -import reloadConfig from "../fixtures/reload-config/webpack.config.js"; +import reloadConfig from "../fixtures/reload-config-3/webpack.config.js"; import compile from "../helpers/compile.js"; import runBrowser from "../helpers/run-browser.js"; import portsMap from "../ports-map.js"; @@ -28,7 +28,7 @@ const supportsMultiCompilerPlugins = const cssFilePath = path.resolve( __dirname, - "../fixtures/reload-config/main.css", + "../fixtures/reload-config-3/main.css", ); describe("API (plugin)", () => { diff --git a/test/e2e/event-source.test.js b/test/e2e/event-source.test.js index 674a55f10f..d81dd69591 100644 --- a/test/e2e/event-source.test.js +++ b/test/e2e/event-source.test.js @@ -6,7 +6,7 @@ import { expect } from "expect"; import fs from "graceful-fs"; import webpack from "webpack"; import Server from "../../lib/Server.js"; -import reloadConfig from "../fixtures/reload-config/webpack.config.js"; +import reloadConfig from "../fixtures/reload-config-4/webpack.config.js"; import runBrowser from "../helpers/run-browser.js"; import waitFor from "../helpers/wait-for.js"; import portsMap from "../ports-map.js"; @@ -19,7 +19,7 @@ const [port, rejectPort] = portsMap["event-source"]; const cssFilePath = path.resolve( __dirname, - "../fixtures/reload-config/main.css", + "../fixtures/reload-config-4/main.css", ); /** diff --git a/test/fixtures/reload-config-3/foo.js b/test/fixtures/reload-config-3/foo.js new file mode 100644 index 0000000000..1bebc0ca7a --- /dev/null +++ b/test/fixtures/reload-config-3/foo.js @@ -0,0 +1 @@ +import "./main.css"; diff --git a/test/fixtures/reload-config-3/webpack.config.js b/test/fixtures/reload-config-3/webpack.config.js new file mode 100644 index 0000000000..0d36f857a8 --- /dev/null +++ b/test/fixtures/reload-config-3/webpack.config.js @@ -0,0 +1,30 @@ +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import HTMLGeneratorPlugin from "../../helpers/html-generator-plugin.js"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +export default { + mode: "development", + context: __dirname, + entry: "./foo.js", + stats: "none", + output: { + path: "/", + }, + module: { + rules: [ + { + test: /\.css$/, + use: [{ loader: "style-loader" }, { loader: "css-loader" }], + }, + ], + }, + infrastructureLogging: { + level: "info", + stream: { + write: () => {}, + }, + }, + plugins: [new HTMLGeneratorPlugin()], +}; diff --git a/test/fixtures/reload-config-4/foo.js b/test/fixtures/reload-config-4/foo.js new file mode 100644 index 0000000000..1bebc0ca7a --- /dev/null +++ b/test/fixtures/reload-config-4/foo.js @@ -0,0 +1 @@ +import "./main.css"; diff --git a/test/fixtures/reload-config-4/webpack.config.js b/test/fixtures/reload-config-4/webpack.config.js new file mode 100644 index 0000000000..0d36f857a8 --- /dev/null +++ b/test/fixtures/reload-config-4/webpack.config.js @@ -0,0 +1,30 @@ +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import HTMLGeneratorPlugin from "../../helpers/html-generator-plugin.js"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +export default { + mode: "development", + context: __dirname, + entry: "./foo.js", + stats: "none", + output: { + path: "/", + }, + module: { + rules: [ + { + test: /\.css$/, + use: [{ loader: "style-loader" }, { loader: "css-loader" }], + }, + ], + }, + infrastructureLogging: { + level: "info", + stream: { + write: () => {}, + }, + }, + plugins: [new HTMLGeneratorPlugin()], +};