From d3345d34e1c25fa86559b7a42051ff0234387fcb Mon Sep 17 00:00:00 2001 From: NimBold Date: Sun, 6 Sep 2026 15:36:09 +0330 Subject: [PATCH] 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. --- src-tauri/src/platform.rs | 10 ++++------ src-tauri/src/removal_jobs.rs | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src-tauri/src/platform.rs b/src-tauri/src/platform.rs index d82b0e7..8393d56 100644 --- a/src-tauri/src/platform.rs +++ b/src-tauri/src/platform.rs @@ -39,7 +39,7 @@ fn windows_directory_identity(path: &Path) -> io::Result { 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 { 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 { 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 diff --git a/src-tauri/src/removal_jobs.rs b/src-tauri/src/removal_jobs.rs index 0363f2b..3d61682 100644 --- a/src-tauri/src/removal_jobs.rs +++ b/src-tauri/src/removal_jobs.rs @@ -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();