test: add fuzzing to the test suite (#1463)
As a part of #1298, we add fuzzing based on Go test's fuzzing support to the test suite
This commit is contained in:
parent
84210f3d2b
commit
3e988afc09
1
Makefile
1
Makefile
|
|
@ -56,6 +56,7 @@ GO_TEST_ARGS ?= -short
|
|||
# Run tests
|
||||
test: generate fmt vet manifests
|
||||
go test $(GO_TEST_ARGS) ./... -coverprofile cover.out
|
||||
go test -fuzz=Fuzz -fuzztime=10s -run=Fuzz* ./controllers
|
||||
|
||||
test-with-deps: kube-apiserver etcd kubectl
|
||||
# See https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/envtest#pkg-constants
|
||||
|
|
|
|||
|
|
@ -605,3 +605,13 @@ func parseAndMatchRecurringPeriod(now time.Time, start, end, frequency, until st
|
|||
|
||||
return MatchSchedule(now, startTime, endTime, RecurrenceRule{Frequency: frequency, UntilTime: untilTime})
|
||||
}
|
||||
|
||||
func FuzzMatchSchedule(f *testing.F) {
|
||||
start := time.Now()
|
||||
end := time.Now()
|
||||
now := time.Now()
|
||||
f.Fuzz(func(t *testing.T, freq string) {
|
||||
// Verify that it never panics
|
||||
_, _, _ = MatchSchedule(now, start, end, RecurrenceRule{Frequency: freq})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue