Summary
9 tests are currently skipped on Windows CI (added in #388) because the underlying code assumes macOS/Linux:
Keyring / Auth (3 tests)
TestAuthAddCmd_JSON
TestAuthListRemoveTokensListDelete_JSON
TestAuthServicesCmd_JSON
These fail because the keyring backend expects macOS Keychain or Linux keyring. Windows Credential Manager support is needed.
Config / Credentials (3 tests)
TestListClientCredentials
TestConfigExists
TestReadClientCredentials_Errors
Fail due to config path or environment variable assumptions that don't hold on Windows.
Path Expansion (1 test)
TestExpandPath (subtests: tilde_only, tilde_with_subpath)
~ expansion uses $HOME which isn't set by default on Windows (should fall back to $USERPROFILE).
Secrets (1 test)
TestResolveKeyringBackendInfo_Default — expects auto backend, gets file on Windows.
Tracking (1 test)
TestLoadSecrets_LegacyFallback — legacy secret path resolution differs on Windows.
Acceptance Criteria
- All 9 tests pass on
windows-latest in CI
- Remove the
-skip list from the windows job in .github/workflows/ci.yml
- No regressions on Linux or macOS
References
Summary
9 tests are currently skipped on Windows CI (added in #388) because the underlying code assumes macOS/Linux:
Keyring / Auth (3 tests)
TestAuthAddCmd_JSONTestAuthListRemoveTokensListDelete_JSONTestAuthServicesCmd_JSONThese fail because the keyring backend expects macOS Keychain or Linux keyring. Windows Credential Manager support is needed.
Config / Credentials (3 tests)
TestListClientCredentialsTestConfigExistsTestReadClientCredentials_ErrorsFail due to config path or environment variable assumptions that don't hold on Windows.
Path Expansion (1 test)
TestExpandPath(subtests:tilde_only,tilde_with_subpath)~expansion uses$HOMEwhich isn't set by default on Windows (should fall back to$USERPROFILE).Secrets (1 test)
TestResolveKeyringBackendInfo_Default— expectsautobackend, getsfileon Windows.Tracking (1 test)
TestLoadSecrets_LegacyFallback— legacy secret path resolution differs on Windows.Acceptance Criteria
windows-latestin CI-skiplist from thewindowsjob in.github/workflows/ci.ymlReferences
.github/workflows/ci.yml