-
Notifications
You must be signed in to change notification settings - Fork 115
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
Add fuzzing for transaction methods #2453
Conversation
3e96ced
to
08cb3ca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some comments. Also, should the fuzz thing be excluded from coverage (see .codecov.yml
)?
Codecov Report
@@ Coverage Diff @@
## master #2453 +/- ##
==========================================
- Coverage 67.06% 66.77% -0.29%
==========================================
Files 324 324
Lines 29880 29880
==========================================
- Hits 20038 19952 -86
- Misses 7353 7455 +102
+ Partials 2489 2473 -16
Continue to review full report at Codecov.
|
57f6ea3
to
336fdc1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good, rebase on master and I'll take another look.
336fdc1
to
b93f9f7
Compare
go/storage/fuzz/fuzz.go
Outdated
defer os.RemoveAll(localDB) | ||
|
||
// Create the storage backend service. | ||
storage, err := storage.New(context.Background(), localDB, identity, nil, nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to only create the database once and have it shared between invocations? Or am I mistaken in how Fuzz
is used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fuzzer doesn't really provide any per-worker startup/shutdown hooks. I could use init
for startup, but I can't see any solution for cleanup, which we'd need to properly close the database. When I tried running with just one database (and a single worker process), the library decided to stop working with a resource temporarily unavailable
.
b93f9f7
to
e089f99
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we setup this to be run daily/weekly/continiously on buildkite?
Yeah, but not as part of this PR. @jberci can you file an issue for running fuzzers on CI every once in a while. |
e089f99
to
a3fc65d
Compare
0a69653
to
195822d
Compare
195822d
to
f3d0cb1
Compare
Closes #2245
Closes #2246