Actually compile Go VM tests; halve CircleCI test time#2589
Conversation
|
Currently broken: on x86
on arm64
Crash log from |
This never actually worked.
Before:
...
integration.go:145: 2022/09/27 10:58:36 serial: 1970/01/01 00:01:26 Failed to start "/testdata/tests/github.com/u-root/u-root/pkg/boot/menu/menu.test": fork/exec /testdata/tests/github.com/u-root/u-root/pkg/boot/menu/menu.test: exec format error~
...
After:
...
integration.go:145: 2022/12/28 19:07:22 serial: === RUN TestDMIDecode~
...
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
QEMU does not create SMBIOS type 9 tables. Signed-off-by: Chris Koch <chrisko@google.com>
Crash log in u-root#2589. Signed-off-by: Chris Koch <chrisko@google.com>
https://google.github.io/styleguide/go/decisions#got-before-want Signed-off-by: Chris Koch <chrisko@google.com>
I'm not sure if it's supposed to be running or not. But it's not. Signed-off-by: Chris Koch <chrisko@google.com>
daf9337 to
5001f1d
Compare
|
do we need to revert #1708 and just start over with multiarchitecture test? |
I'm just gonna fix them one by one (or disable the ones that can't be fixed because they don't make sense on arm64), and then make sure it can't happen again. Couple more things that need to happen that I'm checking out right now:
|
4af2db4 to
15dd8b7
Compare
It's compilable with gcc 11 and 12... the 5.10 kernel wasn't anymore. Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
race test config does not set timeouts and other env vars; many of our VM tests are disabled in race mode. Doesn't make sense to run them there anyway. Signed-off-by: Chris Koch <chrisko@google.com>
15dd8b7 to
241c037
Compare
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
pkg/efivarfs requires CONFIG_TMPFS_XATTR. It's not available until arm64. Signed-off-by: Chris Koch <chrisko@google.com>
And CONFIG_TMPFS_XATTR for pkg/efivarfs Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
pkg/boot/fit does signature checks that depend on time. Bad idea, but for now, let's make time work. Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
caa4082 to
4b72a90
Compare
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
4b72a90 to
e82cca0
Compare
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
dc72cc9 to
ad1e040
Compare
Use go test -p flag (documented in `go help build`) for this. But set GOMAXPROCS back to a useful value to allow concurrency. Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
Signed-off-by: Chris Koch <chrisko@google.com>
ad1e040 to
7e68fff
Compare
Codecov ReportBase: 73.54% // Head: 74.75% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2589 +/- ##
==========================================
+ Coverage 73.54% 74.75% +1.20%
==========================================
Files 406 408 +2
Lines 41209 41335 +126
==========================================
+ Hits 30309 30900 +591
+ Misses 10900 10435 -465
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Improves running time from 19 mins to 14 mins Signed-off-by: Chris Koch <chrisko@google.com>
0c123c5 to
bcbfa88
Compare
Crash log in #2589. Signed-off-by: Chris Koch <chrisko@google.com>
Fix same issue as u-root/u-root#2589 Signed-off-by: Chris Koch <chrisko@google.com>
Fix same issue as u-root/u-root#2589 Signed-off-by: Chris Koch <chrisko@google.com>
This initially worked, but almost all VM Go unit testing broken when Gobusybox was made the default by @MDr164 in May 2022, as this comment indicates. All arm64 tests and and most if not all x86 VM-based Go tests (like pkg/ipmi, pkg/mount, pkg/smbios) haven't been running.
Also, we don't seem to notice that the tests aren't running in the first place, but I'm dealing with that later.
End result of this PR:
Before:
After:
This is a screenshot of
test-integration-arm64of 3 months ago, not running but passing:This is a screenshot of
testrunningpkg/ulogtest, 3 months ago, not running but passing: