diff --git a/src/runtime/crash_test.go b/src/runtime/crash_test.go index 309777d696..a2f0926599 100644 --- a/src/runtime/crash_test.go +++ b/src/runtime/crash_test.go @@ -49,6 +49,7 @@ func runTestProg(t *testing.T, binary, name string, env ...string) string { } testenv.MustHaveGoBuild(t) + t.Helper() exe, err := buildTestProg(t, binary) if err != nil { @@ -135,13 +136,15 @@ func buildTestProg(t *testing.T, binary string, flags ...string) (string, error) exe := filepath.Join(dir, name+".exe") - t.Logf("running go build -o %s %s", exe, strings.Join(flags, " ")) + start := time.Now() cmd := exec.Command(testenv.GoToolPath(t), append([]string{"build", "-o", exe}, flags...)...) + t.Logf("running %v", cmd) cmd.Dir = "testdata/" + binary out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { target.err = fmt.Errorf("building %s %v: %v\n%s", binary, flags, err, out) } else { + t.Logf("built %v in %v", name, time.Since(start)) target.exe = exe target.err = nil } diff --git a/src/runtime/testdata/testprogcgo/lockosthread.go b/src/runtime/testdata/testprogcgo/lockosthread.go index 8fcea35f52..e6dce36fb3 100644 --- a/src/runtime/testdata/testprogcgo/lockosthread.go +++ b/src/runtime/testdata/testprogcgo/lockosthread.go @@ -94,7 +94,7 @@ func LockOSThreadAlt() { // Exit with the thread locked. }() <-ready - for i := 0; i < 100; i++ { + for { time.Sleep(1 * time.Millisecond) // Check that this goroutine is running on a different thread. self := C.pthread_self() @@ -107,6 +107,4 @@ func LockOSThreadAlt() { return } } - println("sub thread still running") - os.Exit(1) }