{{ message }}
Repository navigation
Windows: fix cert generation and run all tests; fix fd leaks and runner abort race - #1174
Merged
Merged
Conversation
ldemailly
reviewed
Oct 10, 2026
…vice name assumptions
…ct between expired timer and stop)
ldemailly
approved these changes
Oct 10, 2026
ldemailly
left a comment
Member
There was a problem hiding this comment.
I fixed a bunch of stuff in addition to the cert enabling -thanks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Fixes #970. Git Bash was rewriting OpenSSL's
/CN=...subject argument as a Windows path. Disable MSYS path conversion for this script so certificates generate on Windows, which letsmake testrun the full test suite on Windows instead of only./stats.Running all tests on Windows surfaced the following, also fixed here:
Real bugs (all platforms)
rapi/data.go: TSV index leaked a file descriptor per successfully read.jsonfile.periodic:fileAccessLoggernever closed its file; addedClose().periodic: runner could ignoreAbort()when behind schedule — withsleepDuration <= 0both the expired timer and the closed stop channel are ready andselectpicks randomly (~50% per iteration), causing occasionalTestInfiniteDurationAndAbortfailures (17 calls instead of ≤15, 730ms after abort).Windows support / portability
fnet.Listen: detect Unix domain socket paths using the OS path separator too (C:\...paths were treated as TCP ports).t.TempDir()cleanup, uset.TempDir()instead of/tmp, usehttpsinstead ofdomainservice name (not in Go's builtin table withnetgo/no/etc/services), skip the chmod-0 unreadable file check on Windows.cli_test.txtar: accept the Windows "file not found" message; usetaskkillinstead ofpkillon Windows.Validation
-race -tags netgo) and on Windows CI.(co - authored by owner ldemailly)