Fuzz filter package with Go 1.18's fuzzer
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
This commit is contained in:
		| @@ -1,32 +0,0 @@ | ||||
| //go:build gofuzz | ||||
| // +build gofuzz | ||||
|  | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package fuzz | ||||
|  | ||||
| import ( | ||||
| 	"github.com/containerd/containerd/filters" | ||||
| ) | ||||
|  | ||||
| func FuzzFiltersParse(data []byte) int { | ||||
| 	_, err := filters.Parse(string(data)) | ||||
| 	if err != nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	return 1 | ||||
| } | ||||
| @@ -334,3 +334,13 @@ func TestOperatorStrings(t *testing.T) { | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func FuzzFiltersParse(f *testing.F) { | ||||
| 	f.Add("foo=bar") | ||||
| 	f.Fuzz(func(t *testing.T, expr string) { | ||||
| 		filter, err := Parse(expr) | ||||
| 		if filter != nil && err != nil { | ||||
| 			t.Fatal("either filter or err must be non-nil") | ||||
| 		} | ||||
| 	}) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kazuyoshi Kato
					Kazuyoshi Kato