radare2/.travis.yml
2015-08-28 23:48:23 +02:00

108 lines
3.1 KiB
YAML

# travis.yml for testing radare2. Initially written in 2014, by jn__.
# Validate with http://yaml.travis-ci.org/.
language: c
compiler:
- gcc
#- clang
# With this scarry double quotation the strings will be passed to the shell
# still quoted, which is necessary here.
#- '"clang -fsanitize=address"'
#- '"clang -fsanitize=memory -fsanitize-memory-track-origins"'
#- '"clang -fsanitize=thread"'
# Put different test categories in different jobs. This will also help keeping
# the logs shorter than 10k lines (the maximum that's displayed).
env:
# TODO: run t.archos, once we have Linux tests in there.
#- Analysis
- TESTS=anal.arm
- TESTS=anal.java
- TESTS=anal.mips
- TESTS=anal.others
- TESTS=anal.x86
- TESTS=esil
#- Formats
- TESTS=format.pe
- TESTS=format.pdb
- TESTS=format.mangling
- TESTS=format.msil
- TESTS=format.elf
- TESTS=format.java
- TESTS=format.dex
- TESTS=format.mach0
- TESTS=format.omf
- TESTS=format.xbe
- TESTS=format.firmware
- TESTS=format.others
#- (dis)assemblers
- TESTS=asm.8051
- TESTS=asm.arc
- TESTS=asm.arm
- TESTS=asm.avr
- TESTS=asm.cr16
- TESTS=asm.dalvik
- TESTS=asm.ebc
- TESTS=asm.gb
- TESTS=asm.h8300
- TESTS=asm.java
- TESTS=asm.lh5801
- TESTS=asm.mips
- TESTS=asm.msp430
- TESTS=asm.tms320
- TESTS=asm.ws
- TESTS=asm.x86
- TESTS=asm.z80
#- debugger
#- TESTS=dbg.linux
- TESTS=io # IO
- TESTS=commands # r2 commands related
- TESTS=tools # tools related
# Force build on container-based infrastructure
sudo: false
# Additional depencies like capstone are downloaded by the r2 makefiles.
addons:
apt:
packages:
- dc # GNU dc, used by r2r.
- cabextract
install:
- git clone `doc/repo REGRESSIONS`
# This little hack will prevent the test names from being erased in the
# travis logfile.
- sed -i 's/\\r//' radare2-regressions/tests.sh
##- pip install 'cpp-coveralls' --user && export PATH=$HOME/.local/bin:$PATH
script:
# llvm-symbolizer isn't in PATH, so we need this.
# (Also, YAML doesn't like underscores)
#- export SYMBOLIZER=/usr/local/clang-3.4/bin/llvm-symbolizer
#- export ASAN_SYMBOLIZER_PATH=$SYMBOLIZER
#- export MSAN_SYMBOLIZER_PATH=$SYMBOLIZER
#- 'export TSAN_OPTIONS=external_symbolizer_path=$SYMBOLIZER'
# Limit the stack size (to 32MiB) to make ThreadSanitizer happy.
- ulimit -s 32768
# Now on to actually building stuff...
# Set prefix for which we don't need sudo
##- export CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
##- export LDFLAGS="-lgcov ${LDFLAGS}"
- ./configure --prefix=`pwd`/install > /dev/null # TODO: Might enable some of the additional features.
- make -s > /dev/null
- make install > /dev/null
- export PATH=${TRAVIS_BUILD_DIR}/install/bin:${PATH}
- export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/install/lib:${LD_LIBRARY_PATH}
- cd radare2-regressions
- VERBOSE=1 make $TESTS # Run the tests, report only regressions as errors.
##after_success: coveralls -r ${TRAVIS_BUILD_DIR} --exclude lib --exclude tests --gcov-options '\-lp'
notifications:
irc: "chat.freenode.net#radare"