You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regenerate saved examples and test that compare() sets windowsOnly #11
Follow-up from #7. The Windows-only mark works; these are small cleanups.
Saved examples are out of date. To reproduce: go run ./plugin/scripts --from 1.21 --to 1.24 examples/shop | diff examples/shop-1.21-to-1.24.txt - differs at lines 20 and 25, which lack (Windows only). Run make examples. examples/real/cobra.txt lists the same settings, so update it too (it needs the project cloned, see examples/README.md).
No test checks that compare() sets the flag. TestWindowsOnly sets WindowsOnly: true by hand. To reproduce: delete c.WindowsOnly = isWindowsOnly(k) from compare() and run go test -count=1 ./.... Both packages still pass, while the report loses the mark. Add a test through compare() or tests/ asserting that winsymlink gets windowsOnly: true and a non-win setting does not. Computing the mark from the name in one place, instead of storing it on Change, would also remove the chance of the two disagreeing.
Output and JSON polish:
The "No binary imports the package, so no effect" section prints winsymlink (os) (Windows only), where the mark adds nothing. To reproduce: run the tool from 1.22 to 1.23 on a module whose only binary is an empty func main() {}.
windowsOnly uses omitempty while goCommand is always present, so the JSON key is absent for most changes. Decide whether to always emit it.
The field comment on WindowsOnly says "Linux services can skip", which does not hold for modules built for Windows. Reword it.
Windows-only settings still count as reaching binaries and still appear in the suggested go.mod pins. That is accurate for Windows builds, but consider saying in the report that Linux-only services can ignore those pins.
Activity