diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c320b68f05..b37de10734 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/setup-go@v2 with: - go-version: '1.17' + go-version: '1.18' - name: test ./... run: go test --tags=examples ./... diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 183549ea51..be84dc82f8 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -64,6 +64,18 @@ func TestBadConfigs(t *testing.T) { } } +const validConfigOne = `{ + "version": "1" + "packages": [] +}` + +func FuzzConfig(f *testing.F) { + f.Add(validConfigOne) + f.Fuzz(func(t *testing.T, orig string) { + ParseConfig(strings.NewReader(orig)) + }) +} + func TestInvalidConfig(t *testing.T) { err := Validate(&Config{ SQL: []SQL{{ @@ -163,3 +175,19 @@ func TestTypeOverrides(t *testing.T) { }) } } + +func FuzzOverride(f *testing.F) { + for _, spec := range []string{ + "string", + "github.com/gofrs/uuid.UUID", + "github.com/segmentio/ksuid.KSUID", + } { + f.Add(spec) + } + f.Fuzz(func(t *testing.T, s string) { + o := Override{ + GoType: GoType{Spec: s}, + } + o.Parse() + }) +}