Skip to content

Run CI on windows#193

Open
richvdh wants to merge 2 commits into
mainfrom
rav/windows_ci
Open

Run CI on windows#193
richvdh wants to merge 2 commits into
mainfrom
rav/windows_ci

Conversation

@richvdh

@richvdh richvdh commented Jul 17, 2026

Copy link
Copy Markdown
Member

... because we have some bugs which only come to light on Windows.

richvdh added 2 commits July 17, 2026 14:53
@richvdh
richvdh requested a review from poljar July 17, 2026 13:58
@helloskyline-a11y

helloskyline-a11y commented Jul 17, 2026

Copy link
Copy Markdown

Hi. Concerning the delete test, I am wondering if this behaviour is not expected. If we take a look at the Rust documentation for remove_dir_all, it explains that there are different behaviours between Unix systems (Linux, macOS) and Windows.

On Unix, unlinkat removes the directory entry of a file but keeps the inode alive as long as there are still references to it, such as open file descriptors. This allows a file to be removed while preserving its contents until the last reference is closed.

On Windows, deletion semantics are different. remove_dir_all uses SetFileInformationByHandle with file disposition information to request deletion. This operation requires the appropriate access rights on the handle, and Windows deletion behaviour depends on how existing handles were opened, particularly whether deletion sharing (FILE_SHARE_DELETE) was allowed.

Therefore, since the database still owns open SQLite handles when delete() is called, it seems expected that this test passes on Unix systems but fails on Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants