Make macOS support best effort
This commit is contained in:
@@ -47,7 +47,7 @@ func TestCheckScriptsHandleFilenamesAndStopOnFailure(t *testing.T) {
|
||||
}
|
||||
// Isolate expensive toolchain commands: this test owns shell orchestration,
|
||||
// not Go's compiler or the production tests exercised by the real checker.
|
||||
write(filepath.Join(bin, "go"), []byte("#!/bin/sh\nprintf '%s\\n' \"$*\" >> \"$CONFIGKIT_TEST_GO_LOG\"\nif [ \"${CONFIGKIT_TEST_FAIL-}\" = yes ] && [ \"${1-}\" = test ]; then exit 37; fi\n"), 0700)
|
||||
write(filepath.Join(bin, "go"), []byte("#!/bin/sh\nprintf '%s/%s %s\\n' \"${GOOS-native}\" \"${GOARCH-native}\" \"$*\" >> \"$CONFIGKIT_TEST_GO_LOG\"\nif [ \"${CONFIGKIT_TEST_FAIL-}\" = yes ] && [ \"${1-}\" = test ]; then exit 37; fi\n"), 0700)
|
||||
write(filepath.Join(bin, "gofmt"), []byte("#!/bin/sh\nprintf '%s\\000' \"$@\" > \"$CONFIGKIT_TEST_FMT_LOG\"\n"), 0700)
|
||||
init := exec.Command("git", "init", "-q")
|
||||
init.Dir = root
|
||||
@@ -67,6 +67,8 @@ func TestCheckScriptsHandleFilenamesAndStopOnFailure(t *testing.T) {
|
||||
}
|
||||
cmd := exec.Command("/bin/bash", filepath.Join(root, "scripts", scriptName))
|
||||
cmd.Env = append(os.Environ(), "PATH="+bin+string(os.PathListSeparator)+os.Getenv("PATH"), "CONFIGKIT_BASELINE_TOOLCHAIN=test-baseline", "CONFIGKIT_NEWER_TOOLCHAIN=test-newer", "CONFIGKIT_TEST_FMT_LOG="+log, "CONFIGKIT_TEST_GO_LOG="+calls)
|
||||
// Log only targets selected by the script, not inherited host settings.
|
||||
cmd.Env = append(cmd.Env, "GOOS=", "GOARCH=")
|
||||
if name == "failed-go-check" {
|
||||
cmd.Env = append(cmd.Env, "CONFIGKIT_TEST_FAIL=yes")
|
||||
}
|
||||
@@ -101,6 +103,17 @@ func TestCheckScriptsHandleFilenamesAndStopOnFailure(t *testing.T) {
|
||||
if fail && strings.Contains(string(invoked), "vet ./...") {
|
||||
t.Fatal("checker continued after failed test")
|
||||
}
|
||||
if scriptName == "release-check.sh" && !fail {
|
||||
// These are selected release gates, not incidental loop details.
|
||||
for _, target := range []string{"linux/amd64", "linux/arm64"} {
|
||||
if !strings.Contains(string(invoked), target+" build ./...") {
|
||||
t.Errorf("checker omitted required target %s", target)
|
||||
}
|
||||
}
|
||||
if strings.Contains(string(invoked), "darwin/") {
|
||||
t.Fatal("checker requires best-effort macOS validation")
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user