[ 
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)

Reply via email to