Skip to content

CI: the Windows job skips tests/test_incremental.py and test_watch_robustness.py, so no watch code is tested on Windows #898

Description

@tirth8205

Found while reviewing #893.

What happens

The Windows daemon and file handles job in .github/workflows/ci.yml runs an explicit list of test files. tests/test_incremental.py is not in it, and neither is tests/test_watch_robustness.py.

That means the Windows-specific branches inside those files — junction handling, _winapi.CreateJunction, WindowsPath.__eq__ being case-insensitive where PosixPath.__eq__ is not, and the whole watch reconciliation path — never execute in CI on Windows. A contributor adding a sys.platform == "win32" branch there can only claim it works from a local run, and we have no way to check.

This is exactly the shape of #811's Windows report: the same failure arrived through a different backend, and we found out from a user rather than from CI.

Suggested fix

Add tests/test_incremental.py and tests/test_watch_robustness.py to the Windows job's list, and fix whatever that surfaces. If some tests genuinely cannot run there (symlink creation needs privilege on Windows), mark those individually with pytest.mark.skipif so the rest still runs, instead of excluding the whole file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions