mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 11:09:23 -06:00
On Windows, tests_launch_library::listing_the_libraries_leaves_every_folder_byte_identical failed every time with os error 33. Its snapshot read every file in the folder, including the lock file of the library the test holds with LibraryLock::acquire. On Windows that lock is LockFileEx, and reading the locked bytes through another handle fails with ERROR_LOCK_VIOLATION. The snapshot now records each file's length as well as its contents and modification time. When the read of a catalog.lock fails with os error 33 on Windows, its contents are left out and the file is compared by its length and modification time. Every other file is still compared byte for byte, and on other platforms the held lock file is too. The app does not read a held lock file anywhere, so only the test changes.