1
0
mirror of https://github.com/golang/go synced 2024-11-17 06:24:48 -07:00
go/test/fixedbugs/issue33275_run.go
Keith Randall 579c69ac1c internal/fmtsort: don't out-of-bounds panic if there's a race condition
Raising an out-of-bounds panic is confusing. There's no indication
that the underlying problem is a race.

The runtime already does a pretty good job of detecting this kind of
race (modification while iterating). We might as well just reorganize
a bit to avoid the out-of-bounds panic.

Fixes #33275

Change-Id: Icdd337ad2eb3c84f999db0850ec1d2ff2c146b6e
Reviewed-on: https://go-review.googlesource.com/c/go/+/191197
Reviewed-by: Martin Möhrmann <moehrmann@google.com>
2019-08-30 05:41:23 +00:00

26 lines
691 B
Go

// +build !nacl,!js
// run
// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Make sure we don't get an index out of bounds error
// while trying to print a map that is concurrently modified.
// The runtime might complain (throw) if it detects the modification,
// so we have to run the test as a subprocess.
package main
import (
"os/exec"
"strings"
)
func main() {
out, _ := exec.Command("go", "run", "fixedbugs/issue33275.go").CombinedOutput()
if strings.Contains(string(out), "index out of range") {
panic(`go run issue33275.go reported "index out of range"`)
}
}