#!/bin/bash # Copyright 2019 Google Inc. # # 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. # ################################################################################ set -o nounset set -o pipefail set -o errexit set -x # Compile kOps fuzzers ( cd kops ./tests/fuzz/build.sh ) # Compile Kubernetes fuzzers cd $SRC/kubernetes function compile_fuzzer { local pkg=$1 local function=$2 local fuzzer="${pkg}_${function}" compile_go_fuzzer "k8s.io/kubernetes/test/fuzz/${pkg}" $function $fuzzer } # Build fuzzers from cncf-fuzzing: $SRC/cncf-fuzzing/projects/kubernetes/build.sh compile_fuzzer "yaml" "FuzzDurationStrict" compile_fuzzer "yaml" "FuzzMicroTimeStrict" compile_fuzzer "yaml" "FuzzSigYaml" compile_fuzzer "yaml" "FuzzTimeStrict" compile_fuzzer "yaml" "FuzzYamlV2" compile_fuzzer "json" "FuzzStrictDecode" compile_fuzzer "json" "FuzzNonStrictDecode"