#!/usr/bin/env bash

set -x
set -e
set -u

HERE="$(cd $(dirname $0) && pwd)"
. ${HERE}/buildbot_functions.sh

ROOT=`pwd`
PLATFORM=`uname`
export PATH="/usr/local/bin:$PATH"

CHECK_LIBCXX=${CHECK_LIBCXX:-0}
CHECK_LLD=${CHECK_LLD:-1}
MAKE_JOBS=${MAX_MAKE_JOBS:-$(nproc)}
LLVM=$ROOT/llvm
LIBFUZZER=$LLVM/lib/Fuzzer
# No assertions. Need to clean up the existing assertion failures first.
# Also, the Fuzzer does not provide reproducers on assertion failures yet.
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_PARALLEL_LINK_JOBS=8 -DLIBFUZZER_ENABLE_TESTS=ON"

CLOBBER=fuzzer-test-suite
STAGE1_CLOBBER="RUNDIR-* $LIBFUZZER"
clobber

# Make sure asan intercepts SIGABRT so that the fuzzer can print the test cases
# for assertion failures.
# export ASAN_OPTIONS=handle_abort=1:strip_path_prefix=build/llvm/

buildbot_update

# Stage 1

build_stage1_clang

# export ASAN_SYMBOLIZER_PATH="${llvm_symbolizer_path}"
export PATH="$(readlink -f ${STAGE1_DIR}/bin):$PATH"

echo @@@BUILD_STEP check-fuzzer@@@

(cd ${STAGE1_DIR} && ninja check-fuzzer) || echo @@@STEP_FAILURE@@@

echo @@@BUILD_STEP get fuzzer-test-suite @@@
[ ! -e fuzzer-test-suite ] && git clone https://github.com/google/fuzzer-test-suite.git
(cd fuzzer-test-suite && git pull)

RunFuzzerTest() {
  echo @@@BUILD_STEP test "$1" fuzzer@@@
  ln -sf $LIBFUZZER .
  export FUZZING_ENGINE=fsanitize_fuzzer
  `pwd`/fuzzer-test-suite/build-and-test.sh "$1"
  echo
}

ulimit -t 3600

export JOBS=${MAKE_JOBS}

RunFuzzerTest libxml2-v2.9.2       || echo @@@STEP_FAILURE@@@
RunFuzzerTest libpng-1.2.56        || echo @@@STEP_FAILURE@@@
RunFuzzerTest libssh-2017-1272     || echo @@@STEP_FAILURE@@@
RunFuzzerTest re2-2014-12-09       || echo @@@STEP_FAILURE@@@
RunFuzzerTest c-ares-CVE-2016-5180 || echo @@@STEP_FAILURE@@@
RunFuzzerTest openssl-1.0.1f       || echo @@@STEP_FAILURE@@@
RunFuzzerTest openssl-1.0.2d       || echo @@@STEP_FAILURE@@@
RunFuzzerTest proj4-2017-08-14     || echo @@@STEP_FAILURE@@@
#RunFuzzerTest woff2-2016-05-06     || echo @@@STEP_WARNINGS@@@  # Often can't find the bug in the given time.
