Open davidhsingyuchen opened 2 years ago
hey there - are these happening consistently or are they flaky?
I'm running gmeasure
locally with ginkgo -p -until-it-fails
and I'm not managing to get any failures. as you can see these are timing based tests and while I've tried to have some fairly conservative limits to try to avoid flakes it looks like they might just be stressing your machine a bit too hard (they appear to be failing right at the boundary). If they're flaky (or if they always pass when you run ginkgo
in serial) then I expect this is just performance related and am inclined to ignore it. But if they're consistently flaking then this might be a windows specific thing we should dig into.
Thanks for the pointer! The tests always fail regardless if they are run in serial or parallel. They do seem to consistently fail at the boundary (e.g., grep -l "<int>: 6"
), which is kind of weird because my laptop is not that old, and the only demanding application that was running at the same time is browser. Detailed system information right before the tests were run can be found below (CPU usage rate ~ 15%):
$ systeminfo
<redacted>
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz
Total Physical Memory: 16,224 MB
Available Physical Memory: 5,194 MB
Furthermore, [FAIL] Experiment Sampling [It] can cap the maximum sample time
(i.e., gomega/gmeasure/experiment_test.go:211
) seems to fail every time.
All the tests are run against unmodified 061fd26.
Please let me know if any additional info is needed from my side, thanks!
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ cat test.sh
#!/usr/bin/env bash
fails=0
for ((i=0;i<10;i++)); do
if ! ginkgo -until-it-fails > "logs/$i.log" 2>&1; then
((fails++))
fi
done
printf "%d failures" "$fails"
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ time ./test.sh
10 failures
real 0m52.634s
user 0m0.077s
sys 0m0.261s
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "D:/main/dev/onsi/gomega/gmeasure/experiment_test.go:211" logs/*.log | wc
10 10 110
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "D:/main/dev/onsi/gomega/gmeasure/experiment_test.go:238" logs/*.log | wc
1 1 11
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "<int>: 6" logs/*.log | wc
10 10 110
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ cat test.sh
#!/usr/bin/env bash
fails=0
for ((i=0;i<100;i++)); do
if ! ginkgo -p -until-it-fails > "logs/$i.log" 2>&1; then
((fails++))
fi
done
printf "%d failures" "$fails"
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ time ./test.sh
100 failures
real 5m35.485s
user 0m0.732s
sys 0m2.050s
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "D:/main/dev/onsi/gomega/gmeasure/experiment_test.go:211" logs/*.log | wc
100 100 1190
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "D:/main/dev/onsi/gomega/gmeasure/experiment_test.go:238" logs/*.log | wc
62 62 736
# Change the name of the log directory out-of-bound
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "<int>: 6" logs_parallel/*.log | wc
71 71 1484
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "<int>: 5" logs_parallel/*.log | wc
27 27 564
David@David-Dell MINGW64 /d/main/dev/onsi/gomega/gmeasure (master)
$ grep -l "<int>: 4" logs_parallel/*.log | wc
2 2 42
Summary
gmeasure
tests are failing on the latestmaster
.System information:
go1.19 windows/amd64
10.0.19043 N/A Build 19043
(obtained bysysteminfo
)Test Output