Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

misc/cgo/test: slow unshardable tests on ARM slowing TryBots #21219

Closed
bradfitz opened this issue Jul 29, 2017 · 2 comments
Closed

misc/cgo/test: slow unshardable tests on ARM slowing TryBots #21219

bradfitz opened this issue Jul 29, 2017 · 2 comments
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge help wanted NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@bradfitz
Copy link
Contributor

The TryBots shard tests over many machines, but that assumes that big tests are split across shardable units.

linux-arm on Scaleway is a TryBot, and a slow one, so we shard it widely

But this test seems extra slow:

##### ../misc/cgo/test
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	71.069s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	63.050s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	70.950s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.023s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.021s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.022s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.018s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.024s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.054s
PASS
ok  	_/tmp/workdir/go/misc/cgo/test	36.567s
PASS
ok  	_/tmp/workdir/go/misc/cgo/testtls	0.027s
PASS
ok  	_/tmp/workdir/go/misc/cgo/nocgo	0.045s

Can we break that into more units, or speed up that test on ARM?

/cc @ianlancetaylor

@bradfitz bradfitz added Builders x/build issues (builders, bots, dashboards) help wanted NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure. labels Jul 29, 2017
@bradfitz bradfitz added this to the Go1.10 milestone Jul 29, 2017
@rsc rsc modified the milestones: Go1.10, Go1.11 Nov 22, 2017
@ianlancetaylor
Copy link
Contributor

Output of go test -test.v in misc/cgo/test on linux-arm gomote:

=== RUN   TestSetgid
--- PASS: TestSetgid (0.00s)
=== RUN   Test6997
--- PASS: Test6997 (0.50s)
=== RUN   TestBuildID
--- PASS: TestBuildID (0.00s)
=== RUN   Test9400
--- PASS: Test9400 (0.00s)
=== RUN   TestAlign
--- PASS: TestAlign (0.00s)
=== RUN   TestConst
--- PASS: TestConst (0.00s)
=== RUN   TestEnum
--- PASS: TestEnum (0.00s)
=== RUN   TestAtol
--- PASS: TestAtol (0.00s)
=== RUN   TestErrno
--- PASS: TestErrno (0.00s)
=== RUN   TestMultipleAssign
--- PASS: TestMultipleAssign (0.00s)
=== RUN   TestUnsignedInt
--- PASS: TestUnsignedInt (0.00s)
=== RUN   TestCallback
--- PASS: TestCallback (0.00s)
=== RUN   TestCallbackGC
--- PASS: TestCallbackGC (0.01s)
=== RUN   TestCallbackPanic
--- PASS: TestCallbackPanic (0.00s)
=== RUN   TestCallbackPanicLoop
--- PASS: TestCallbackPanicLoop (0.75s)
=== RUN   TestCallbackPanicLocked
--- PASS: TestCallbackPanicLocked (0.00s)
=== RUN   TestPanicFromC
--- PASS: TestPanicFromC (0.00s)
=== RUN   TestZeroArgCallback
--- PASS: TestZeroArgCallback (0.01s)
=== RUN   TestBlocking
--- PASS: TestBlocking (0.00s)
=== RUN   Test1328
--- PASS: Test1328 (0.00s)
=== RUN   TestParallelSleep
--- PASS: TestParallelSleep (1.00s)
    issue1560.go:44: difference in start time for two sleep(1) is 0s
=== RUN   TestSetEnv
--- PASS: TestSetEnv (0.00s)
=== RUN   TestHelpers
--- PASS: TestHelpers (0.00s)
=== RUN   TestLibgcc
--- PASS: TestLibgcc (0.00s)
=== RUN   Test1635
--- PASS: Test1635 (0.00s)
=== RUN   TestPrintf
--- PASS: TestPrintf (0.00s)
=== RUN   Test4029
--- PASS: Test4029 (0.00s)
    issue4029.go:71: IMPWindowResize 1321472
    issue4029.go:71: IMPDrawRect 1321360
    issue4029.go:71: IMPInitWithFrame 1321248
    issue4029.go:71: IMPIsOpaque 1321136
=== RUN   TestBoolAlign
--- PASS: TestBoolAlign (0.00s)
=== RUN   Test3729
--- PASS: Test3729 (0.00s)
=== RUN   Test3775
--- PASS: Test3775 (0.00s)
=== RUN   TestCthread
--- PASS: TestCthread (0.01s)
=== RUN   TestCallbackCallers
--- PASS: TestCallbackCallers (0.00s)
=== RUN   Test5227
--- PASS: Test5227 (0.00s)
=== RUN   TestCflags
--- PASS: TestCflags (0.00s)
=== RUN   Test5337
--- PASS: Test5337 (0.00s)
=== RUN   Test5548
--- PASS: Test5548 (0.00s)
=== RUN   Test5603
--- PASS: Test5603 (0.00s)
=== RUN   Test6833
--- PASS: Test6833 (0.00s)
=== RUN   Test3250
--- SKIP: Test3250 (0.00s)
    issue3250.go:48: skipped, see golang.org/issue/5885
=== RUN   TestCallbackStack
--- PASS: TestCallbackStack (0.03s)
=== RUN   TestFpVar
--- PASS: TestFpVar (0.00s)
=== RUN   Test4339
--- PASS: Test4339 (0.00s)
=== RUN   Test6390
--- PASS: Test6390 (0.00s)
=== RUN   Test5986
--- PASS: Test5986 (0.00s)
=== RUN   Test7665
--- PASS: Test7665 (0.00s)
=== RUN   TestNaming
--- PASS: TestNaming (0.00s)
=== RUN   Test7560
--- PASS: Test7560 (0.00s)
=== RUN   Test5242
--- PASS: Test5242 (0.00s)
=== RUN   Test8092
--- PASS: Test8092 (0.00s)
=== RUN   Test7978
--- PASS: Test7978 (0.09s)
=== RUN   Test8694
--- SKIP: Test8694 (0.00s)
    issue8694.go:24: test8694 is disabled on ARM because 5l cannot handle thumb library.
=== RUN   Test8517
--- SKIP: Test8517 (0.00s)
    issue8517.go:12: skipping windows only test
=== RUN   Test8811
--- PASS: Test8811 (0.00s)
=== RUN   TestReturnAfterGrow
--- PASS: TestReturnAfterGrow (0.00s)
=== RUN   TestReturnAfterGrowFromGo
--- PASS: TestReturnAfterGrowFromGo (0.00s)
=== RUN   Test9026
--- PASS: Test9026 (0.00s)
=== RUN   Test9510
--- SKIP: Test9510 (0.00s)
    issue9510.go:20: skipping because libgcc may be a Thumb library
=== RUN   Test9557
--- PASS: Test9557 (0.00s)
=== RUN   Test10303
--- PASS: Test10303 (0.00s)
=== RUN   Test11925
--- PASS: Test11925 (0.00s)
=== RUN   Test12030
--- PASS: Test12030 (0.00s)
=== RUN   TestGCC68255
--- PASS: TestGCC68255 (0.00s)
=== RUN   TestCallGoWithString
--- PASS: TestCallGoWithString (0.00s)
=== RUN   Test14838
--- PASS: Test14838 (0.00s)
=== RUN   Test8756
--- PASS: Test8756 (0.00s)
=== RUN   Test17065
--- PASS: Test17065 (0.00s)
=== RUN   TestThreadLock
--- PASS: TestThreadLock (0.00s)
=== RUN   TestCheckConst
--- PASS: TestCheckConst (0.00s)
=== RUN   Test17537
--- PASS: Test17537 (0.00s)
=== RUN   Test18126
--- PASS: Test18126 (0.00s)
=== RUN   Test20369
--- PASS: Test20369 (0.00s)
=== RUN   Test18720
--- PASS: Test18720 (0.00s)
=== RUN   Test20266
--- PASS: Test20266 (0.00s)
=== RUN   Test20129
--- PASS: Test20129 (0.00s)
=== RUN   Test20910
--- PASS: Test20910 (0.00s)
=== RUN   Test21708
--- PASS: Test21708 (0.00s)
=== RUN   Test21809
--- PASS: Test21809 (0.00s)
=== RUN   Test6907
--- PASS: Test6907 (0.00s)
=== RUN   Test6907Go
--- PASS: Test6907Go (0.00s)
=== RUN   Test21897
--- SKIP: Test21897 (0.00s)
    issue21897b.go:12: test runs only on darwin+cgo
=== RUN   Test22906
--- PASS: Test22906 (0.00s)
=== RUN   Test24206
--- SKIP: Test24206 (0.00s)
    issue24206_generic.go:12: Skipping on non-amd64 or non-linux system
=== RUN   Test25143
--- PASS: Test25143 (0.00s)
=== RUN   Test23356
--- PASS: Test23356 (0.00s)
=== RUN   TestSigaltstack
--- PASS: TestSigaltstack (0.00s)
=== RUN   TestSigprocmask
--- PASS: TestSigprocmask (0.00s)
=== RUN   Test18146
--- PASS: Test18146 (24.21s)
=== RUN   Test7234
--- PASS: Test7234 (0.00s)
PASS
ok  	_/workdir/go/misc/cgo/test	26.698s

In this run, Test18146 took over 90% of the time. On my laptop, that test takes 52% of the time.

Since as far as I know issue 18146 is fixed without any difficulties, I'm just going to disable the test in short mode.

@gopherbot
Copy link

Change https://golang.org/cl/121115 mentions this issue: misc/cgo/test: skip Test18146 in short mode

@golang golang locked and limited conversation to collaborators Jun 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge help wanted NeedsFix The path to resolution is known, but the work has not been done. Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

4 participants