From 2edd351b92ca22581ffc75c9ff47c99bc9d9ea06 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 20 Apr 2020 11:06:21 -0700 Subject: [PATCH] runtime: skip TestBigGOMAXPROCS if it runs out of memory Fixes #38541 Change-Id: I0e9ea5865628d953c32f3a5d4b3ccf1c1d0b081e Reviewed-on: https://go-review.googlesource.com/c/go/+/229077 Run-TryBot: Ian Lance Taylor Reviewed-by: Bryan C. Mills TryBot-Result: Gobot Gobot --- src/runtime/proc_test.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/runtime/proc_test.go b/src/runtime/proc_test.go index 27dba95effb..764a279fcaa 100644 --- a/src/runtime/proc_test.go +++ b/src/runtime/proc_test.go @@ -1043,8 +1043,14 @@ loop: func TestBigGOMAXPROCS(t *testing.T) { t.Parallel() output := runTestProg(t, "testprog", "NonexistentTest", "GOMAXPROCS=1024") - if strings.Contains(output, "failed to create new OS thread") { - t.Skipf("failed to create 1024 threads") + // Ignore error conditions on small machines. + for _, errstr := range []string{ + "failed to create new OS thread", + "cannot allocate memory", + } { + if strings.Contains(output, errstr) { + t.Skipf("failed to create 1024 threads") + } } if !strings.Contains(output, "unknown function: NonexistentTest") { t.Errorf("output:\n%s\nwanted:\nunknown function: NonexistentTest", output)