aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/base-images/base-runner/collect_dft
diff options
context:
space:
mode:
Diffstat (limited to 'infra/base-images/base-runner/collect_dft')
-rwxr-xr-xinfra/base-images/base-runner/collect_dft67
1 files changed, 0 insertions, 67 deletions
diff --git a/infra/base-images/base-runner/collect_dft b/infra/base-images/base-runner/collect_dft
deleted file mode 100755
index 3f6c6899..00000000
--- a/infra/base-images/base-runner/collect_dft
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/bash -u
-# Copyright 2020 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.
-#
-################################################################################
-cd $OUT
-
-if (( $# > 0 )); then
- FUZZ_TARGETS="$@"
-else
- FUZZ_TARGETS="$(find . -maxdepth 1 -type f -executable -printf '%P\n')"
-fi
-
-# Timeout for running a single fuzz target.
-if [ -z "$COLLECT_DFT_TIMEOUT" ]; then
- COLLECT_DFT_TIMEOUT=1h
-fi
-
-# Number of CPUs available, this is needed for running targets in parallel.
-NPROC=$(nproc)
-
-function run_one_target {
- local target=$1
- local corpus="/corpus/${target}"
- local traces="$OUT/${target}_dft"
-
- # Put the logs in $OUT as well for debugging purposes.
- local log="$OUT/${target}_dft.log"
-
- rm -rf $traces && mkdir -p $traces
-
- timeout $COLLECT_DFT_TIMEOUT dataflow_tracer.py $OUT/$target $corpus $traces &> $log
- if (( $? != 0 )); then
- echo "Error occured while collecting data flow traces for $target:"
- cat $log
- fi
-}
-
-# Run each fuzz target, write data flow traces into corresponding dir in $OUT.
-for fuzz_target in $FUZZ_TARGETS; do
- # Skip binaries that do not seem to be fuzz targets.
- grep "LLVMFuzzerTestOneInput" $fuzz_target > /dev/null 2>&1 || continue
-
- echo "Running $fuzz_target"
- run_one_target $fuzz_target &
-
- # Do not spawn more processes than the number of CPUs available.
- n_child_proc=$(jobs -rp | wc -l)
- while [ "$n_child_proc" -eq "$NPROC" ]; do
- sleep 4
- n_child_proc=$(jobs -rp | wc -l)
- done
-done
-
-# Wait for background processes to finish.
-wait