[
https://issues.apache.org/jira/browse/BEAM-14440?focusedWorklogId=768009&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-768009
]
ASF GitHub Bot logged work on BEAM-14440:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 09/May/22 16:44
Start Date: 09/May/22 16:44
Worklog Time Spent: 10m
Work Description: damccorm commented on code in PR #17587:
URL: https://github.com/apache/beam/pull/17587#discussion_r868204673
##########
sdks/go/pkg/beam/core/graph/coder/stringutf8_test.go:
##########
@@ -120,3 +120,26 @@ func TestEncodeDecodeStringUTF8LP(t *testing.T) {
})
}
}
+
+func FuzzEncodeDecodeStringUTF8LP(f *testing.F) {
Review Comment:
Is there a reason to keep the above test that is doing the same thing as
this one? Same question for the tests in other files
##########
sdks/go/pkg/beam/core/graph/coder/bytes_test.go:
##########
@@ -59,3 +59,23 @@ func TestEncodeDecodeBytes(t *testing.T) {
})
}
}
+
+func FuzzEncodeDecodeBytes(f *testing.F) {
Review Comment:
Looking at https://go.dev/doc/fuzz/, it looks like these tests won't be run
automatically since we're not passing in the fuzz flag, right? We'll just run
the [seed corpus](https://go.dev/doc/fuzz/#glos-seed-corpus)?
This is neat and probably helps us a bit, but investing heavily in tests
that don't get run continuously has a pretty limited ceiling since it can't be
used to prove correctness of future changes without taking non-obvious manual
steps. We should definitely keep our eyes on [this issue to enable continuous
fuzzing](https://github.com/golang/go/issues/50192) - until we get there, I'd
probably vote we don't make too big of a push towards adding a bunch of fuzz
tests. Alternately, we could consider adding our fuzz tests to the set of
validations that gets done before a release.
Again - this PR is great and provides a valuable map towards adding fuzz
tests, I just want to make sure we're calling out the downsides before going
too far down that road.
Issue Time Tracking
-------------------
Worklog Id: (was: 768009)
Time Spent: 1h (was: 50m)
> Add coder fuzz tests to the Go SDK
> ----------------------------------
>
> Key: BEAM-14440
> URL: https://issues.apache.org/jira/browse/BEAM-14440
> Project: Beam
> Issue Type: Improvement
> Components: sdk-go
> Reporter: Jack McCluskey
> Assignee: Jack McCluskey
> Priority: P3
> Time Spent: 1h
> Remaining Estimate: 0h
>
> With the Go SDK now on minimum Go version 1.18, fuzz tests can be added to
> the test corpus. The coder package is a good place to start with this, as we
> handle primitives that can be directly generated by Go's native fuzz testing
> and can check that we are getting the same values out after encoding and
> decoding.
>
> An overview of potential fuzz testing in the Beam Go SDK can be found here:
> https://docs.google.com/document/d/1VHe5xFHjsmgOj2upH2k4zT90S5SCPtGYSJNcvPj5fig/edit?usp=sharing
--
This message was sent by Atlassian Jira
(v8.20.7#820007)