mirror of
https://github.com/golang/go
synced 2024-11-17 14:14:56 -07:00
encoding/gob: skip TestLargeSlice on machines with small address space
The encoding/gob.TestLargeSlice test needs too much virtual memory to run reliably on machines with a small address space, for example the plan9-arm builders where user processes only have 1 gigabyte. Fixes #60284 Change-Id: Ied88630e5ec6685e14d2060ae316abca1619f9b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/496138 Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: David du Colombier <0intro@gmail.com> Run-TryBot: David du Colombier <0intro@gmail.com>
This commit is contained in:
parent
976a84b1ff
commit
873f76d27b
@ -14,6 +14,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
var doFuzzTests = flag.Bool("gob.fuzz", false, "run the fuzz tests, which are large and very slow")
|
||||
@ -1566,7 +1567,9 @@ func testEncodeDecode(t *testing.T, in, out any) {
|
||||
|
||||
func TestLargeSlice(t *testing.T) {
|
||||
t.Run("byte", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if unsafe.Sizeof(uintptr(0)) > 4 {
|
||||
t.Parallel() // Only run in parallel in a large address space
|
||||
}
|
||||
s := make([]byte, 10<<21)
|
||||
for i := range s {
|
||||
s[i] = byte(i)
|
||||
@ -1576,7 +1579,9 @@ func TestLargeSlice(t *testing.T) {
|
||||
testEncodeDecode(t, st, rt)
|
||||
})
|
||||
t.Run("int8", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if unsafe.Sizeof(uintptr(0)) > 4 {
|
||||
t.Parallel()
|
||||
}
|
||||
s := make([]int8, 10<<21)
|
||||
for i := range s {
|
||||
s[i] = int8(i)
|
||||
@ -1586,7 +1591,9 @@ func TestLargeSlice(t *testing.T) {
|
||||
testEncodeDecode(t, st, rt)
|
||||
})
|
||||
t.Run("struct", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if unsafe.Sizeof(uintptr(0)) > 4 {
|
||||
t.Parallel()
|
||||
}
|
||||
s := make([]StringPair, 1<<21)
|
||||
for i := range s {
|
||||
s[i].A = string(rune(i))
|
||||
@ -1597,7 +1604,9 @@ func TestLargeSlice(t *testing.T) {
|
||||
testEncodeDecode(t, st, rt)
|
||||
})
|
||||
t.Run("string", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if unsafe.Sizeof(uintptr(0)) > 4 {
|
||||
t.Parallel()
|
||||
}
|
||||
s := make([]string, 1<<21)
|
||||
for i := range s {
|
||||
s[i] = string(rune(i))
|
||||
|
Loading…
Reference in New Issue
Block a user