pair := t.gohostos + "-" + t.goarch
switch (pair) {
case "android-arm", "darwin-arm", ...:
// run test
default:
// don't run test
}
If a GOOS/GOARCH combination isn't correctly added to one of the many lists like this, then the related tests simply won't run. This is not always obvious.
I think it would be good to refactor test.go so that it always defaults to running a test unless explicitly told not to for a given platform (preferably with an issue referencing the missing feature). This will make it harder to accidentally forget to enable a test.
Every now and again a test isn't enabled on a platform where it should be (for example: https://github.com/golang/go/commit/161cd34f788ee9c6b61565eb6f865434bc135306). A leading culprit of this is feature checks that only run a test if the GOOS/GOARCH combination is in a list:
If a GOOS/GOARCH combination isn't correctly added to one of the many lists like this, then the related tests simply won't run. This is not always obvious.
I think it would be good to refactor test.go so that it always defaults to running a test unless explicitly told not to for a given platform (preferably with an issue referencing the missing feature). This will make it harder to accidentally forget to enable a test.