aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Kliuchnikov <eustas@google.com>2017-09-26 13:49:30 +0200
committerGitHub <noreply@github.com>2017-09-26 13:49:30 +0200
commit4f8cd4c0f4443d51a9603790a445b06c073b7a4d (patch)
tree69b3292e9c6346b10702d5882d2353c178e7b2ef
parent5b4769990dc14a2bd466d2599c946c5652cba4b2 (diff)
downloadbrotli-4f8cd4c0f4443d51a9603790a445b06c073b7a4d.zip
brotli-4f8cd4c0f4443d51a9603790a445b06c073b7a4d.tar.gz
brotli-4f8cd4c0f4443d51a9603790a445b06c073b7a4d.tar.bz2
Fix fuzzer test script and add it to travis matrix (#606)
-rw-r--r--.travis.yml13
-rwxr-xr-xc/fuzz/test_fuzzer.sh21
-rwxr-xr-xscripts/.travis.sh3
3 files changed, 29 insertions, 8 deletions
diff --git a/.travis.yml b/.travis.yml
index 95589a6..4d7a16f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,19 @@ matrix:
- g++-4.4
###
+ ## Test that fuzzer is compiling / working.
+ ###
+ - os: linux
+ env: BUILD_SYSTEM=fuzz C_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-4.0
+ packages:
+ - clang-4.0
+
+ ###
## clang on Linux
###
- os: linux
diff --git a/c/fuzz/test_fuzzer.sh b/c/fuzz/test_fuzzer.sh
index 8266fde..5c754e1 100755
--- a/c/fuzz/test_fuzzer.sh
+++ b/c/fuzz/test_fuzzer.sh
@@ -1,6 +1,11 @@
#!/usr/bin/env bash
+set -e
-BROTLI="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
+export CC=${CC:-cc}
+export CXX=${CXX:-c++}
+
+BROTLI="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
+SRC=$BROTLI/c
cd $BROTLI
@@ -8,16 +13,16 @@ rm -rf bin
mkdir bin
cd bin
-cmake .. -B./ -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address
-make clean
-make -j$(nproc) brotlidec
+cmake $BROTLI -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" \
+ -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address
+make -j$(nproc) brotlidec-static
-c++ -c -std=c++11 ../fuzz/decode_fuzzer.cc -I./include
-ar rvs decode_fuzzer.a decode_fuzzer.o
-c++ ../fuzz/run_decode_fuzzer.cc -o run_decode_fuzzer -lasan decode_fuzzer.a ./libbrotlidec.a ./libbrotlicommon.a
+${CXX} -o run_decode_fuzzer -std=c++11 -fsanitize=address -I$SRC/include \
+ $SRC/fuzz/decode_fuzzer.cc $SRC/fuzz/run_decode_fuzzer.cc \
+ ./libbrotlidec-static.a ./libbrotlicommon-static.a
mkdir decode_corpora
-unzip ../java/org/brotli/integration/fuzz_data.zip -d decode_corpora
+unzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora
for f in `ls decode_corpora`
do
diff --git a/scripts/.travis.sh b/scripts/.travis.sh
index 63939a6..9ddfa1b 100755
--- a/scripts/.travis.sh
+++ b/scripts/.travis.sh
@@ -51,6 +51,9 @@ case "$1" in
cd java/org/brotli
mvn install && cd integration && mvn verify
;;
+ "fuzz")
+ ./c/fuzz/test_fuzzer.sh
+ ;;
"bazel")
bazel test -c opt ...:all
;;