fix(ci): verify retained Windows directory ownership
This commit is contained in:
1 parent
d41f7963c8
commit
7b33314701
2 files changed
+8
-4
No files matched your search
+3
-2
@@ -389,8 +389,9 @@ adds in-place reparse, breakaway, environment, and token observations.
|
||||
The separate `scripts/verify-windows-native-inspection.mjs` lane uses the
|
||||
`.cache/windows-native-inspection-fixture` artifact built on Linux with
|
||||
`node scripts/build-windows-native.mjs --inspection-fixture`. Its controlled
|
||||
first deletion failure checks retained NTFS ownership, later-query recovery,
|
||||
successful-admission caching, and environment-teardown cleanup. It neither
|
||||
first deletion failure checks retained NTFS ownership across a same-volume
|
||||
rename, later-query handle-based recovery, successful-admission caching, and
|
||||
environment-teardown cleanup. It neither
|
||||
establishes the cause of the intermittent #1701 host failure nor replaces
|
||||
verification with the shipped production artifact.
|
||||
`npm run verify:ghidra:windows:package` additionally packs and installs REA into
|
||||
|
||||
@@ -62,8 +62,11 @@ assert.equal(first.retryable,true);
|
||||
assert.match(first.reason,/Delete owned object by handle failed.*Win32 5/s);
|
||||
const [name,...extra]=readdirSync(temp);assert.ok(name);assert.equal(extra.length,0);
|
||||
const path=join(temp,name);const identity=statSync(path,{bigint:true});
|
||||
assert.throws(()=>renameSync(path,path+'-replacement'));
|
||||
assert.equal(statSync(path,{bigint:true}).ino,identity.ino);
|
||||
// This private directory permits rename while its retained handle still owns
|
||||
// cleanup. Recovery must follow the object identity after its path changes.
|
||||
const replacement=path+'-replacement';renameSync(path,replacement);
|
||||
assert.equal(statSync(replacement,{bigint:true}).ino,identity.ino);
|
||||
assert.equal(readdirSync(temp).length,1);
|
||||
if(process.argv[2]!=='teardown'){
|
||||
const second=systemWindowsNativeAuthority();assert.equal(second.available,true);
|
||||
assert.equal(readdirSync(temp).length,0);
|
||||
|
||||
Reference in new issue
Block a user