Mercurial > dropbear
changeset 1566:3fc0e9a0978b
add fuzzers to travis
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 01 Mar 2018 22:54:57 +0800 |
parents | 2fd52c383163 |
children | 2799a1d55b59 |
files | .travis.yml fuzzers_test.sh |
diffstat | 2 files changed, 22 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/.travis.yml Thu Mar 01 22:12:30 2018 +0800 +++ b/.travis.yml Thu Mar 01 22:54:57 2018 +0800 @@ -11,15 +11,16 @@ env: WEXTRAFLAGS=-Werror - env: MULTI=1 WEXTRAFLAGS=-Werror # libtom has some warnings, so no WEXTRAFLAGS - - env: BUNDLEDLIBTOM=--enable-bundled-libtom WEXTRAFLAGS="" + - env: CONFIGURE_FLAGS=--enable-bundled-libtom WEXTRAFLAGS="" - env: NOWRITEV=1 WEXTRAFLAGS=-Werror # libtomcrypt 1.18.1 fixes clang problems, distro doesn't have that yet - os: linux compiler: clang - env: BUNDLEDLIBTOM=--enable-bundled-libtom WEXTRAFLAGS="" + env: CONFIGURE_FLAGS=--enable-bundled-libtom WEXTRAFLAGS="" - os: osx compiler: clang env: WEXTRAFLAGS="" + - env: DO_FUZZ=1 CONFIGURE_FLAGS="--enable-fuzz --disable-harden" EXTRACFLAGS=-fsanitize=address CC="clang-5.0" LDFLAGS=-fsanitize=address # container-based builds sudo: false @@ -30,24 +31,27 @@ - zlib1g-dev - libtomcrypt-dev - libtommath-dev - + - mercurial + - clang-5.0 before_install: - if [ "$CC" = "clang" ]; then WEXTRAFLAGS="$WEXTRAFLAGS -Wno-error=incompatible-library-redeclaration" ; fi # workaround -script: - - autoconf && autoheader && ./configure "$BUNDLEDLIBTOM" CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS" --prefix="$HOME/inst" +install: + - autoconf && autoheader && ./configure $CONFIGURE_FLAGS CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS $EXTRACFLAGS" --prefix="$HOME/inst" - if [ "$NOWRITEV" = "1" ]; then sed -i -e s/HAVE_WRITEV/DONT_HAVE_WRITEV/ config.h ; fi - make -j3 + - test -z $DO_FUZZ || make fuzzstandalone # avoid concurrent install, osx/freebsd is racey (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208093) - make install -after_success: +script: - ~/inst/bin/dropbearkey -t rsa -f testrsa - ~/inst/bin/dropbearkey -t dss -f testdss - ~/inst/bin/dropbearkey -t ecdsa -f testec256 -s 256 - ~/inst/bin/dropbearkey -t ecdsa -f testec384 -s 384 - ~/inst/bin/dropbearkey -t ecdsa -f testec521 -s 521 + - test -z $DO_FUZZ || ./fuzzers_test.sh branches: only:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuzzers_test.sh Thu Mar 01 22:54:57 2018 +0800 @@ -0,0 +1,12 @@ +#!/bin/sh + +# runs fuzz corpus with standalone fuzzers + +result=0 + +hg clone https://secure.ucc.asn.au/hg/dropbear-fuzzcorpus fuzzcorpus || exit 1 +for f in `make list-fuzz-targets`; do + ./$f fuzzcorpus/$f/* || result=1 +done + +exit $result