avr: enable testdata/map.go
The test needs a few changes to support low-memory devices but other than that, it works fine.
Этот коммит содержится в:
родитель
109b5298c4
коммит
995e815b63
2 изменённых файлов: 8 добавлений и 9 удалений
|
@ -194,10 +194,6 @@ func runPlatTests(options compileopts.Options, tests []string, t *testing.T) {
|
||||||
// Breaks interp.
|
// Breaks interp.
|
||||||
continue
|
continue
|
||||||
|
|
||||||
case "map.go":
|
|
||||||
// Reflect size calculation crashes.
|
|
||||||
continue
|
|
||||||
|
|
||||||
case "channel.go":
|
case "channel.go":
|
||||||
// Freezes after recv from closed channel.
|
// Freezes after recv from closed channel.
|
||||||
continue
|
continue
|
||||||
|
|
13
testdata/map.go
предоставленный
13
testdata/map.go
предоставленный
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sort"
|
"sort"
|
||||||
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testmap1 = map[string]int{"data": 3}
|
var testmap1 = map[string]int{"data": 3}
|
||||||
|
@ -211,10 +212,12 @@ func testBigMap(squares map[int]int, n int) {
|
||||||
func mapgrow() {
|
func mapgrow() {
|
||||||
m := make(map[int]int)
|
m := make(map[int]int)
|
||||||
|
|
||||||
const (
|
var Delete = 500
|
||||||
Delete = 500
|
if unsafe.Sizeof(uintptr(0)) < 4 {
|
||||||
N = Delete * 2
|
// Reduce the number of iterations on low-memory devices like AVR.
|
||||||
)
|
Delete = 20
|
||||||
|
}
|
||||||
|
var N = Delete * 2
|
||||||
|
|
||||||
for i := 0; i < Delete; i++ {
|
for i := 0; i < Delete; i++ {
|
||||||
m[i] = i
|
m[i] = i
|
||||||
|
@ -246,7 +249,7 @@ func mapgrow() {
|
||||||
println("bad length post grow/delete", len(m))
|
println("bad length post grow/delete", len(m))
|
||||||
}
|
}
|
||||||
|
|
||||||
seen := make([]bool, 500)
|
seen := make([]bool, Delete)
|
||||||
|
|
||||||
var mcount int
|
var mcount int
|
||||||
for k, v := range m {
|
for k, v := range m {
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче