Code refactoring for bpa operator
[icn.git] / cmd / bpa-operator / vendor / github.com / prometheus / common / expfmt / fuzz.go
1 // Copyright 2014 The Prometheus Authors
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13
14 // Build only when actually fuzzing
15 // +build gofuzz
16
17 package expfmt
18
19 import "bytes"
20
21 // Fuzz text metric parser with with github.com/dvyukov/go-fuzz:
22 //
23 //     go-fuzz-build github.com/prometheus/common/expfmt
24 //     go-fuzz -bin expfmt-fuzz.zip -workdir fuzz
25 //
26 // Further input samples should go in the folder fuzz/corpus.
27 func Fuzz(in []byte) int {
28         parser := TextParser{}
29         _, err := parser.TextToMetricFamilies(bytes.NewReader(in))
30
31         if err != nil {
32                 return 0
33         }
34
35         return 1
36 }