Compare commits

...
Author SHA1 Message Date
N0zoM1z0andKaoru0822 43303502e3 chore(ci): verify native Windows ESM fixture loading and full acceptance file
Diagnostic workflow only. Compare the unchanged raw-drive baseline error with the current complete CLI/MCP acceptance file, requiring matching source and fresh exact reports.

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
2026-10-15 16:00:12 +00:00
N0zoM1z0andKaoru0822 011be9c3d5 test(applications): execute ESM fixtures through encoded file URLs
Refresh the Windows fixture fix on current main and exercise spaces and hash characters in the existing test-owned application directory. Preserve real module execution, CLI/MCP comparisons and the existing timeout.

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
2026-10-15 15:58:56 +00:00
GuilhermeF 8a695d1585 test(applications): import capture fixtures through file URLs
The capture-lifetime acceptance test executes its authored fixtures with
`import(process.argv[1])` and passed a filesystem path. ESM import()
takes a URL specifier, so on Windows the drive letter parses as a `c:`
scheme and Node rejects the import with ERR_UNSUPPORTED_ESM_URL_SCHEME
before the fixture runs.

Pass the fixture as a file URL from pathToFileURL instead.
2026-10-13 20:52:03 -03:00
2 changed files with 86 additions and 920 deletions

No files matched your search

+79 -918
View File
File diff suppressed because it is too large. Load diff
@@ -3,6 +3,7 @@ import { createHash } from "node:crypto";
import { copyFile, mkdir, writeFile } from "node:fs/promises";
import { createRequire } from "node:module";
import { join, relative, resolve } from "node:path";
import { pathToFileURL } from "node:url";
import { promisify } from "node:util";
import { Client } from "@modelcontextprotocol/client";
@@ -1183,7 +1184,9 @@ describe("application workflow CLI copy boundaries", () => {
describe("application workflow CLI and MCP capture lifetimes", () => {
it("compares captured primitives and source values after aliases are replaced", async () => {
const root = await createTestTempDirectory("rea-capture-lifetime-cli-");
const parent = await createTestTempDirectory("rea-capture-lifetime-cli-");
const root = join(parent, "fixtures # capture");
await mkdir(root);
const fields = [
"rebound",
"rest",
@@ -1247,7 +1250,9 @@ describe("application workflow CLI and MCP capture lifetimes", () => {
"--input-type=module",
"--eval",
"const module = await import(process.argv[1]); console.log(JSON.stringify(module.default()));",
join(root, String(index), "parser.mjs"),
// ESM import() takes a URL specifier; a Windows drive path parses as a
// `c:` URL scheme and is rejected.
pathToFileURL(join(root, String(index), "parser.mjs")).href,
]);
expect(JSON.parse(stdout)).toEqual({
kind: "capture-boundary",