Summary
Three tests in tests/test_crapload_package_resolution.py fail on macOS but pass in CI (ubuntu-latest):
test_multi_module_repo
test_go_workspace
test_malformed_go_mod
Root Cause
scripts/resolve-go-packages.sh uses paste -sd ' ' to join multi-module package patterns. BSD paste (macOS) has different flag semantics than GNU paste (Linux), causing the command to fail with:
usage: paste [-s] [-d delimiters] file ...
Reproduction
On macOS, the 3 tests fail with returncode=1 and stderr showing the paste usage error. On Linux (CI), all tests pass.
Impact
Local-only. CI is unaffected since it runs on ubuntu-latest with GNU coreutils. Developers running make test on macOS see 3 spurious failures.
Suggested Fix
Replace the paste usage in resolve-go-packages.sh with a portable alternative (e.g., tr, awk, or bash parameter expansion) that works on both BSD and GNU systems.
Summary
Three tests in
tests/test_crapload_package_resolution.pyfail on macOS but pass in CI (ubuntu-latest):test_multi_module_repotest_go_workspacetest_malformed_go_modRoot Cause
scripts/resolve-go-packages.shusespaste -sd ' 'to join multi-module package patterns. BSDpaste(macOS) has different flag semantics than GNUpaste(Linux), causing the command to fail with:Reproduction
make testOn macOS, the 3 tests fail with
returncode=1and stderr showing thepasteusage error. On Linux (CI), all tests pass.Impact
Local-only. CI is unaffected since it runs on ubuntu-latest with GNU coreutils. Developers running
make teston macOS see 3 spurious failures.Suggested Fix
Replace the
pasteusage inresolve-go-packages.shwith a portable alternative (e.g.,tr,awk, or bash parameter expansion) that works on both BSD and GNU systems.