fix(ci): restore portable schema and clean-runtime tests
Escape DEX class-name delimiters in the owning schema so advertised patterns compile under JavaScript Unicode Sets. Keep the clean-runtime fixture preflight independent of unrelated same-user processes; the fixture inode is freshly copied and the post-launch assertion still exercises exact executable identity. Co-authored-by: Kaoru0822 <[email protected]>
This commit is contained in:
1 parent
cbc31db525
commit
37130367cc
2 files changed
+5
-4
No files matched your search
@@ -102,7 +102,7 @@ const textCoverage = z.strictObject({
|
||||
export const dexDescriptorSchema = z
|
||||
.string()
|
||||
.regex(
|
||||
/^\((?:\[*(?:[ZBSCIJFD]|L[^;()]+;))*\)(?:V|\[*(?:[ZBSCIJFD]|L[^;()]+;))$/u,
|
||||
/^\((?:\[*(?:[ZBSCIJFD]|L[^;\x28\x29]+;))*\)(?:V|\[*(?:[ZBSCIJFD]|L[^;\x28\x29]+;))$/u,
|
||||
);
|
||||
|
||||
const method = z.strictObject({
|
||||
|
||||
@@ -30,9 +30,10 @@ it
|
||||
await chmod(launcher, 0o700);
|
||||
await symlink(launcher, alternate);
|
||||
}
|
||||
// A rejection must come from the fixture we are about to launch. An
|
||||
// existing Xvfb would otherwise mask a broken executable-identity check.
|
||||
await assertCleanLinuxHopperRuntime(alternateMode ? [launcher] : []);
|
||||
// A rejection must come from the fixture we are about to launch. The
|
||||
// command scan excludes an existing named demo process, while the copied
|
||||
// launcher's new inode cannot already be executing.
|
||||
await assertCleanLinuxHopperRuntime([]);
|
||||
const command = alternateMode ? alternate : process.execPath;
|
||||
const arguments_ = alternateMode ? ["30"] : ["-e", childCode];
|
||||
const parentCode = `
|
||||
|
||||
Reference in new issue
Block a user