1
0
mirror of https://github.com/golang/go synced 2024-10-04 21:11:22 -06:00
go/src
Austin Clements e3ba0977be internal/singleflight: deflake TestDoDupSuppress
Currently TestDoDupSuppress can fail if the goroutines created by its
loop run sequentially. This is rare, but it has caused failures on the
dashboard and in stress testing.

While I think there's no way to eliminate all possible thread
schedules that could make this test fail because it depends on waiting
until a Group.Do blocks, it is possible to make it much more robust.

This commit deflakes this test by forcing at least one invocation of
fn to start and all goroutines to reach the line just before the Do
call before allowing fn to proceed. fn then waits 10 milliseconds
before returning to allow the goroutines to pass through the Do.

With this change, in 50,000 runs of the stress testing configuration,
the number of calls to fn never even exceeded 1.

Fixes #11784.

Change-Id: Ie5adf5764545050ec407619769a656251c4cff04
Reviewed-on: https://go-review.googlesource.com/12681
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-26 20:35:09 +00:00
..
archive all: link to https instead of http 2015-07-11 14:36:33 +00:00
bufio bufio: Remove unneeded error initialization 2015-07-18 18:05:23 +00:00
builtin builtin: remove errant space in hyphenated adjective phrase 2015-06-28 21:41:38 +00:00
bytes Revert "bytes: document that Buffer values must not be copied" 2015-07-23 18:34:49 +00:00
cmd cmd/compile: add missing quotation mark 2015-07-24 22:12:14 +00:00
compress all: link to https instead of http 2015-07-11 14:36:33 +00:00
container
crypto crypt/rand: update docs for Linux 2015-07-26 02:57:16 +00:00
database/sql database/sql: document closing requirements for Stmts 2015-07-15 04:31:41 +00:00
debug debug/pe: truncate pe sections to their size in memory 2015-07-10 03:33:38 +00:00
encoding encoding/xml: EncodeToken silently eats tokens with invalid type 2015-07-23 14:16:01 +00:00
errors
expvar
flag flag: add comment stating that Set is called in sequence across the command line 2015-07-16 05:33:47 +00:00
fmt fmt: restore padding for %x on byte slices and strings 2015-06-29 07:17:23 +00:00
go go/types: fix suspect or 2015-07-23 22:50:40 +00:00
hash hash/crc32: speedup crc32 of IEEE using slicingBy8 2015-06-18 18:14:24 +00:00
html all: link to https instead of http 2015-07-11 14:36:33 +00:00
image image/color: fix format typo in the tests. 2015-07-16 01:41:34 +00:00
index/suffixarray
internal internal/singleflight: deflake TestDoDupSuppress 2015-07-26 20:35:09 +00:00
io io: tweak Reader comment 2015-06-29 21:17:47 +00:00
log log: fix flaky test 2015-06-18 18:08:17 +00:00
math math/big: document rounding for Rat.FloatToString 2015-07-22 19:47:19 +00:00
mime all: link to https instead of http 2015-07-11 14:36:33 +00:00
net net: make GODEBUG=netdns=cgo force cgo as documented 2015-07-23 01:37:15 +00:00
os os/exec: close read pipe if copy to io.Writer fails 2015-07-22 21:37:18 +00:00
path all: link to https instead of http 2015-07-11 14:36:33 +00:00
reflect cmd/compile: fix PtrTo(t) for unnamed t with embedded fields 2015-07-15 05:36:27 +00:00
regexp regexp: small correction to test comment 2015-06-14 17:09:13 +00:00
runtime runtime: require gdb version 7.9 for gdb test 2015-07-24 17:15:44 +00:00
sort
strconv strconv: add examples to package 2015-07-22 16:00:21 +00:00
strings all: link to https for golang subdomains too 2015-07-12 04:42:40 +00:00
sync sync: disable flaky WaitGroup misuse test in short mode 2015-06-29 18:44:52 +00:00
syscall syscall: warn not to use FormatMessage 2015-07-21 02:26:27 +00:00
testing runtime/trace: add new package 2015-07-22 15:47:16 +00:00
text text/template: make zero Template work again 2015-06-24 22:27:33 +00:00
time time: make it clearer how to format a fractional second 2015-07-15 05:13:05 +00:00
unicode unicode: upgrade to 8.0.0 2015-06-26 18:01:29 +00:00
unsafe
all.bash
all.bat
all.rc
androidtest.bash androidtest.bash: robust cleanup in case of failure. 2015-07-17 21:12:12 +00:00
bootstrap.bash
buildall.bash buildall.bash: exit 1 when make.bash fails 2015-05-17 01:40:33 +00:00
clean.bash build: fix clean scripts 2015-06-18 16:13:13 +00:00
clean.bat build: fix clean scripts 2015-06-18 16:13:13 +00:00
clean.rc build: fix clean scripts 2015-06-18 16:13:13 +00:00
iostest.bash
make.bash doc: replace references to {5..9}{g,l} with go tool compile and go tool link 2015-06-17 04:05:50 +00:00
make.bat doc: replace references to {5..9}{g,l} with go tool compile and go tool link 2015-06-17 04:05:50 +00:00
Make.dist
make.rc doc: replace references to {5..9}{g,l} with go tool compile and go tool link 2015-06-17 04:05:50 +00:00
nacltest.bash nacltest.bash: remove syscall/fstest_nacl.go after test 2015-05-02 02:48:32 +00:00
race.bash all: link to https instead of http 2015-07-11 14:36:33 +00:00
race.bat all: link to https instead of http 2015-07-11 14:36:33 +00:00
run.bash build: correct quoting of args in run.bash 2015-05-09 04:23:47 +00:00
run.bat
run.rc