-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/test2json: test2json doesn't print the final "pass" action if fuzz test is interrupted #53563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
How are you interrupting the test? Probably the interrupt signal from your console is being sent to the
|
@bcmills Hello! |
I agree. Want to send a fix for Go 1.20? I'd be happy to review. |
Hey @h31 👋 , in case you are short of bandwidth to work on this, I can take this up 🙌 . Thanks! |
Hello @sidntrivedi012! Thank you, sounds great, I would appreciate your help |
Change https://go.dev/cl/419295 mentions this issue: |
Updates #53563 Change-Id: I35a3fd56718e198f68cbf73075a78b2fbc66bd7d Reviewed-on: https://go-review.googlesource.com/c/go/+/419295 TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Bryan Mills <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Reviewed-by: Bryan Mills <[email protected]> Reviewed-by: Ryan Schuster <[email protected]> Reviewed-by: David Chase <[email protected]>
It looks like this has been fixed. |
Change https://go.dev/cl/456115 mentions this issue: |
- Start handling signals in 'go test' just before starting the test subprocess instead of just after. (It is unlikely that starting the process will cause cmd/go to hang in a way that requires signals to debug, and it is possible that something the test does — such as sending os.Interrupt to its parent processes — will immediately send a signal that needs to be handled.) - In the test-test, don't try to re-parse the parent PIDs after sending signals, and sleep for a much shorter time interval. (Overrunning the sleep caused the next call to strconv.Atoi — which shouldn't even happen! — to fail with a parse error, leading to the failure mode observed in https://build.golang.org/log/f0982dcfc6a362f9c737eec3e7072dcc7ef29e32.) Fixes #56083. Updates #53563. Change-Id: I346a95bdda5619632659ea854f98a9e17a6aede7 Reviewed-on: https://go-review.googlesource.com/c/go/+/456115 TryBot-Result: Gopher Robot <[email protected]> Auto-Submit: Bryan Mills <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Run-TryBot: Bryan Mills <[email protected]>
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Having a simple fuzz test that checks nothing:
go test -json
works as expected, "pass" action is at the end of the output:$ go test -json ./... -fuzz '^\QFuzzReverse\E$' -run '^$'
Output
PASS
line is at the end of the output):$ go test -c -o /path/to/binary -gcflags -d=libfuzzer FuzzingExample
$ /path/to/binary -test.v -test.paniconexit0 -test.fuzz '^\QFuzzReverse\E$' -test.fuzzcachedir ... -test.run '^$'
Output
$ go tool test2json -t /path/to/binary -test.v -test.paniconexit0 -test.fuzz '^\QFuzzReverse\E$' -test.fuzzcachedir ... -test.run '^$'
Output
What did you expect to see?
"pass" action at the end of the output
What did you see instead?
An interruption message
The text was updated successfully, but these errors were encountered: