diff --git a/test/package/package_test.ww b/test/package/package_test.ww index 20f9a9e3..232e865b 100644 --- a/test/package/package_test.ww +++ b/test/package/package_test.ww @@ -552,9 +552,9 @@ fn mkdirall(path: str) void = { assert(has(out.stderr, "test package must match production package or _test")); - // The bootstrap drivers store package identities in the same 256-byte - // slot. Reject an overlong coordinator selector before either stage can - // truncate it into a different package graph. + // Package declarations are validation/kind data, not fixed driver storage. + // A 256-byte selector must reach both stages intact and run under the same + // reversible outside-root identity instead of preserving the old slot cap. let longdir: str = strings.concat(root, "/long-package"); assert(os.mkdir(longdir, 448i32) == 0); let chunk: str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; @@ -563,6 +563,9 @@ fn mkdirall(path: str) void = { assert(longname.len == 256); writefile(strings.concat(longdir, "/long.ww"), strings.concat("package ", longname, ";\nfn value() void = { };\n")); + writefile(strings.concat(longdir, "/long_test.ww"), strings.concat( + "package ", longname, ";\n", + "@test fn long_package_runs() void = { value(); };\n")); let longc: []str = [driver("ww"), "test", longdir]; let longw: []str = [driver("ww_ww"), "test", longdir]; let outc: commandout; @@ -571,11 +574,13 @@ fn mkdirall(path: str) void = { (30i64 * (time.second: i64)): time.duration, &outc); runcommand(root, "long-package-ww", longw, (30i64 * (time.second: i64)): time.duration, &outw); - expectexit(&outc, 1); - expectexit(&outw, 1); + expectexit(&outc, 0); + expectexit(&outw, 0); assert(same(outc.stdout, outw.stdout)); assert(same(outc.stderr, outw.stderr)); - assert(has(outc.stderr, "invalid --ww-package-test variant")); + assert(outc.stderr.len == 0); + assert(has(outc.stdout, strings.concat(longname, + ".long_package_runs ... ok\n"))); let multiline: str = strings.concat(root, "/multiline-test"); assert(os.mkdir(multiline, 448i32) == 0);