testenv.MustHaveGoBuild(t)
 
        if skipExternal {
-               t.Skip("skipping external tests on %s/%s", runtime.GOOS, runtime.GOARCH)
+               t.Skipf("skipping external tests on %s/%s", runtime.GOOS, runtime.GOARCH)
        }
 
        return &testgoData{t: t}
        tg.tempDir("yy/zz")
        tg.tempFile("yy/zz/zz.go", "package zz\n")
        if err := os.Symlink(tg.path("yy"), tg.path("src/example/xx/yy")); err != nil {
-               t.Skip("symlink failed: %v", err)
+               t.Skipf("symlink failed: %v", err)
        }
        tg.run("list", "example/xx/z...")
        tg.grepStdoutNot(".", "list should not have matched anything")
 
 func checkObjdumpAarch64(t *testing.T) {
        out, err := exec.Command(objdumpPath, "-i").Output()
        if err != nil {
-               t.Skip("cannot run objdump: %v\n%s", err, out)
+               t.Skipf("cannot run objdump: %v\n%s", err, out)
        }
        if !strings.Contains(string(out), "aarch64") {
                t.Skip("objdump does not have aarch64 support")
 
 func TestSigStackSwapping(t *testing.T) {
        switch runtime.GOOS {
        case "plan9", "windows":
-               t.Skip("no sigaltstack on %s", runtime.GOOS)
+               t.Skipf("no sigaltstack on %s", runtime.GOOS)
        }
        t.Parallel()
        got := runTestProg(t, "testprogcgo", "SigStack")