fix(ci): repair cross-platform cleanup checks

- Remove the duplicate Windows filesystem flag import and add the missing file identity import.\n- Make the Linux replacement-file regression deterministic while retaining permission-repair coverage.\n- Re-run the native test suite before publishing the corrective commit.
This commit is contained in:
NimBold
2026-09-06 15:36:09 +03:30
parent 3624db280c
commit d3345d34e1
2 changed files with 5 additions and 7 deletions
+4 -6
View File
@@ -39,7 +39,7 @@ fn windows_directory_identity(path: &Path) -> io::Result<String> {
use windows_sys::Win32::Foundation::{CloseHandle, INVALID_HANDLE_VALUE};
use windows_sys::Win32::Storage::FileSystem::{
CreateFileW, GetFileInformationByHandle, BY_HANDLE_FILE_INFORMATION,
FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_OPEN_REPARSE_POINT, FILE_FLAG_BACKUP_SEMANTICS, FILE_SHARE_DELETE,
FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_OPEN_REPARSE_POINT, FILE_SHARE_DELETE,
FILE_SHARE_READ, FILE_SHARE_WRITE, OPEN_EXISTING,
};
@@ -86,8 +86,8 @@ pub fn file_identity(path: &Path) -> Option<String> {
use windows_sys::Win32::Foundation::{CloseHandle, INVALID_HANDLE_VALUE};
use windows_sys::Win32::Storage::FileSystem::{
CreateFileW, GetFileInformationByHandle, BY_HANDLE_FILE_INFORMATION, FILE_ATTRIBUTE_NORMAL,
FILE_FLAG_OPEN_REPARSE_POINT, FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, FILE_FLAG_OPEN_REPARSE_POINT, FILE_SHARE_DELETE,
FILE_SHARE_READ, FILE_SHARE_WRITE, OPEN_EXISTING,
};
let wide_path = path
@@ -119,9 +119,7 @@ pub fn file_identity(path: &Path) -> Option<String> {
let _ = CloseHandle(handle);
succeeded
};
result.then(|| {
format_file_identity(&metadata)
})
result.then(|| format_file_identity(&metadata))
}
/// Return the identity of the already-open Windows file handle. This keeps a
+1 -1
View File
@@ -365,7 +365,7 @@ mod tests {
std::fs::remove_file(&a).unwrap();
assert!(validate_manifest(&manifest, &snapshot_assets(&roots).unwrap()).is_ok());
let replacement = root.join("replacement");
std::fs::write(&replacement, b"original").unwrap();
std::fs::write(&replacement, b"replacement").unwrap();
std::fs::rename(&replacement, &a).unwrap();
assert!(validate_manifest(&manifest, &snapshot_assets(&roots).unwrap()).is_err());
std::fs::remove_file(&a).unwrap();