fail hard on any error + verify that all scripts use bash -ex to fail

early on any error + anticipate that some tools can't be installed by
now, but we still want the test to return success to satisfy travis-ci
This commit is contained in:
Steven Van Acker 2017-02-16 22:40:17 +01:00
parent 9d4b9d5e63
commit 7144e756e5
190 changed files with 216 additions and 191 deletions

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
#
# AFL

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed bison qemu

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y build-dep qemu

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
[ -e android-sdk_r24.4.1-linux.tgz ] || wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
[ -e android-sdk-linux ] || tar xfz android-sdk_r24.4.1-linux.tgz

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre7-openjdk jdk7-openjdk

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install openjdk-7-jre openjdk-7-jdk

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
source ctf-tools-venv-activate

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
# for angr

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
mkdir bin
wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.2.0.jar

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre8-openjdk

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get install -y default-jre

View file

@ -1,10 +1,12 @@
#!/bin/bash
#!/bin/bash -ex
# it's z3!
ctf-tools-pip install https://github.com/zardus/z3/archive/pypy-and-setup.zip
set +e
source ${VIRTUALENVWRAPPER_SCRIPT}
workon ctftools
set -e
# pybfd can't be installed with pip
git clone --depth 1 https://github.com/Groundworkstech/pybfd

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install binutils-multiarch-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
ctf-tools-pip uninstall -y barf pyasmjit
rm -f $VIRTUAL_ENV/bin/BARFgadgets

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
git clone --depth 1 https://github.com/beefproject/beef

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
pacman -Syu --noconfirm --needed \
ruby python2 ruby-bundler \

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
echo "Need to get ruby with RVM... Unsupported for now"
exit 1

View file

@ -199,6 +199,7 @@ done
[[ -z ${ALLOW_SUDO+x} ]] && export ALLOW_SUDO=0
[[ -z ${FORCE+x} ]] && export FORCE=0
[[ -z ${VERBOSE_OUTPUT+x} ]] && export VERBOSE_OUTPUT=0
export EXPECTFAIL=${EXPECTFAIL:-0}
if [[ $# -ge 1 ]]; then
ACTION="$1"
@ -251,6 +252,13 @@ case $ACTION in
exit 0
fi
# the first line in all install and uninstall scripts should have the -e flag, otherwise fail
if [ $(for i in install* uninstall test; do if [ -e "$i" ]; then head -1 "$i"; fi; done | sort | uniq | grep -v '^#!/bin/bash -ex$' | wc -l) -ne 0 ];
then
tool_log "not all install/uninstall/test scripts start with '#!/bin/bash -ex', which is a must for accurate testing."
exit 1
fi
tool_log "starting install, logging to $PWD/install.log"
rm -f install.log
@ -331,10 +339,12 @@ case $ACTION in
if [ "$FORCE" -eq 0 ] && ! cat README.md | grep "<\!--tool-->" | grep "| \[$TOOL\](" | grep -q -- "--test--"
then
tool_log "Tests not enabled."
if [ "$EXPECTFAIL" -eq "1" ]; then exit 1; fi
else
$0 install $TOOL
if (
if ! $0 install $TOOL; then exit 1; fi
cd $TOOL
cd $TOOL || exit 1
if [ -f ./test ]
then
tool_log "Running test script."
@ -347,6 +357,13 @@ case $ACTION in
else
tool_log "Install succeeded. No test script!"
fi
exit 0
);
then
if [ "$EXPECTFAIL" -eq "1" ]; then exit 1; else exit 0; fi
else
if [ "$EXPECTFAIL" -eq "1" ]; then exit 0; else exit 1; fi
fi
fi
;;
*)

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
INST_DIR="$PWD"

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install maven libprotobuf-dev openjdk-7-jre openjdk-7-jdk

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/devttys0/binwalk.git
ctf-tools-pip install -e binwalk

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
wget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free'
chmod 755 ./burp.jar

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre7-openjdk

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install openjdk-7-jre

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
ctf-tools-pip install --no-use-wheel -U capstone
ctf-tools-pip3 install --no-use-wheel -U capstone

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
PY_TEST_FILE=$(mktemp)
cat << END > $PY_TEST_FILE

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
ctf-tools-pip uninstall -y capstone || true
ctf-tools-pip3 uninstall -y capstone || true

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/slimm609/checksec.sh
mkdir bin

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/trailofbits/codereason
cd codereason

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install build-essential gcc g++ make cmake libboost-dev libprotobuf-dev protobuf-compiler libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-date-time-dev libboost-regex-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
git clone --depth 1 https://github.com/stasinopoulos/commix.git
mkdir bin

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/SpiderLabs/cribdrag

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
FILE=cross2-20130826.tgz
INSTALL_DIR=$PWD

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
mkdir -p src
[ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.git

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
pacman -Syu --noconfirm gperf flex bison help2man gawk ncurses

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
apt-get install -y gperf flex bison help2man gawk libncurses5-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
[ -e x-tools ] && chmod -R u+w x-tools
rm -rf crosstools-ng

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
wget -O - http://www.bay12games.com/dwarves/df_43_05_linux.tar.bz2 | tar xj

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libasound2:i386 libasyncns0:i386 libatk1.0-0:i386 libc6:i386 libcaca0:i386 libcairo2:i386 libdatrie1:i386 libdbus-1-3:i386 libdrm2:i386 libexpat1:i386 libffi6:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgdk-pixbuf2.0-0:i386 libgl1-mesa-glx:i386 libglapi-mesa:i386 libglib2.0-0:i386 libglu1-mesa:i386 libgraphite2-3:i386 libgtk2.0-0:i386 libharfbuzz0b:i386 libjbig0:i386 libjpeg-turbo8:i386 libjson-c2:i386 liblzma5:i386 libncursesw5:i386 libogg0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386 libpcre3:i386 libpixman-1-0:i386 libpng12-0:i386 libpulse0:i386 libsdl1.2debian:i386 libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libselinux1:i386 libslang2:i386 libsndfile1:i386 libthai0:i386 libtiff5:i386 libtinfo5:i386 libvorbis0a:i386 libvorbisenc2:i386 libwebp5:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb1:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-render0:i386 libxcb-shm0:i386 libxcb-sync1:i386 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
mkdir bin
wget -O dirb.tar.gz http://downloads.sourceforge.net/project/dirb/dirb/2.22/dirb222.tar.gz

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed curl gnutls

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libcurl4-gnutls-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
mkdir bin
git clone --depth 1 https://github.com/maurosoria/dirsearch.git

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker.tar.bz2
tar xjf dislocker.tar.bz2

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed mbedtls fuse

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libfuse-dev libpolarssl-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/BR903/ELFkickers
cd ELFkickers

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
wget http://www.elfparser.com/release/elfparser_x86_64_1.4.0.deb
dpkg -x elfparser_x86_64_1.4.0.deb .

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get install -y libqt5widgets5

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
wget http://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz
tar zvxf evilize-0.2.tar.gz

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/kholia/exetractor-clone.git

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth=1 https://github.com/nccgroup/featherduster.git
ctf-tools-pip install --upgrade -e featherduster

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libgmp3-dev libncurses5-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip uninstall -y featherduster || true

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/mirror/firmware-mod-kit.git
cd firmware-mod-kit/src

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed zlib xz python2-magic

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install liblzma-dev python-magic zlib1g-dev

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip3 install --upgrade 'git+https://github.com/ALSchwalm/foresight.git'

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip3 uninstall -y foresight || true

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth=1 http://git.fedorahosted.org/git/gdb-heap.git || true

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
apt-get install -y libc6-dbg

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
dnf install -y dnf-plugins-core
dnf debuginfo-install -y glibc

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -e -o pipefail
curl https://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz | tar xz

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --needed --noconfirm texinfo

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install texinfo

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
dnf install -y texinfo

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
git clone --depth 1 https://github.com/hugsy/gef.git

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Hash_ID_v1.1.py
chmod 755 Hash_ID_v1.1.py

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
apt-get -y install tofrodos

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
PREFIX=$PWD

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
pacman -Syu --noconfirm --needed openssl

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
apt-get install -y libssl-dev pkg-config

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git
cd HashPump-partialhash

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed openssl

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/bwall/HashPump.git
cd HashPump

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed openssl

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip uninstall -y hashpumpy || true

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
[ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz
cd honggfuzz

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get install libbfd-dev libunwind8-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get install -y libbfd-dev libunwind8-dev

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
[ -e jd-gui-1.4.0.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1.4.0/jd-gui-1.4.0.jar

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre7-openjdk

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install openjdk-7-jre

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -e -o pipefail
git clone --depth 1 https://github.com/keystone-engine/keystone.git

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --needed --noconfirm cmake

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install build-essential cmake

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -e -o pipefail
source ctf-tools-venv-activate

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -e -o pipefail
source ctf-tools-venv-activate

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
# move to ctftools virtual env
source ctf-tools-venv-activate

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
apt-get install -y libc6-dbg

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
dnf install -y dnf-plugins-core
dnf debuginfo-install -y glibc

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
git clone --depth 1 https://github.com/devttys0/littleblackbox.git
INST_DIR=$PWD

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed openssl libpcap sqlite

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev libpcap-dev libsqlite3-dev

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip install --upgrade packaging mitmproxy

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk libxml2-dev libxslt1-dev

View file

@ -1,3 +1,3 @@
#!/bin/bash -e
#!/bin/bash -ex
ctf-tools-pip uninstall -y mitmproxy || true

View file

@ -1,4 +1,4 @@
#!/bin/bash -e
#!/bin/bash -ex
mkdir bin
wget -O msieve.tar.gz "http://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/msieve153_src.tar.gz"

Some files were not shown because too many files have changed in this diff Show more