2014-06-13 00:45:31 +00:00
|
|
|
# travis.yml for testing radare2. Initially written in 2014, by jn__.
|
|
|
|
# Validate with http://yaml.travis-ci.org/.
|
|
|
|
|
|
|
|
language: c
|
|
|
|
compiler:
|
|
|
|
- gcc
|
2015-03-30 14:23:26 +00:00
|
|
|
#- clang
|
2014-06-13 00:45:31 +00:00
|
|
|
# With this scarry double quotation the strings will be passed to the shell
|
|
|
|
# still quoted, which is necessary here.
|
2015-03-30 14:23:26 +00:00
|
|
|
#- '"clang -fsanitize=address"'
|
|
|
|
#- '"clang -fsanitize=memory -fsanitize-memory-track-origins"'
|
|
|
|
#- '"clang -fsanitize=thread"'
|
2014-06-13 00:45:31 +00:00
|
|
|
|
2014-06-13 23:48:55 +00:00
|
|
|
# Put different test categories in different jobs. This will also help keeping
|
|
|
|
# the logs shorter than 10k lines (the maximum that's displayed).
|
|
|
|
env:
|
2014-06-15 10:08:19 +00:00
|
|
|
# TODO: run t.archos, once we have Linux tests in there.
|
2015-04-01 10:42:41 +00:00
|
|
|
|
|
|
|
#- Analysis
|
2015-04-04 15:01:41 +00:00
|
|
|
- TESTS=anal.arm
|
2015-04-04 14:33:24 +00:00
|
|
|
- TESTS=anal.java
|
2015-04-08 22:49:37 +00:00
|
|
|
- TESTS=anal.mips
|
2015-04-01 10:42:41 +00:00
|
|
|
- TESTS=anal.others
|
|
|
|
- TESTS=anal.x86
|
|
|
|
- TESTS=esil
|
|
|
|
|
|
|
|
#- Formats
|
2015-04-04 15:12:04 +00:00
|
|
|
- TESTS=format.pe
|
2015-04-14 22:37:24 +00:00
|
|
|
- TESTS=format.pdb
|
2015-04-01 10:45:17 +00:00
|
|
|
- TESTS=format.mangling
|
|
|
|
- TESTS=format.msil
|
|
|
|
- TESTS=format.elf
|
|
|
|
- TESTS=format.java
|
|
|
|
- TESTS=format.dex
|
|
|
|
- TESTS=format.mach0
|
2015-05-23 17:17:32 +00:00
|
|
|
- TESTS=format.omf
|
2015-04-01 10:45:17 +00:00
|
|
|
- TESTS=format.xbe
|
|
|
|
- TESTS=format.firmware
|
2015-05-23 17:17:32 +00:00
|
|
|
- TESTS=format.others
|
2015-04-01 10:55:08 +00:00
|
|
|
|
|
|
|
#- (dis)assemblers
|
|
|
|
- TESTS=asm.8051
|
|
|
|
- TESTS=asm.arc
|
2015-04-04 15:04:46 +00:00
|
|
|
- TESTS=asm.arm
|
2015-04-01 10:55:08 +00:00
|
|
|
- TESTS=asm.avr
|
|
|
|
- TESTS=asm.cr16
|
|
|
|
- TESTS=asm.dalvik
|
|
|
|
- TESTS=asm.ebc
|
|
|
|
- TESTS=asm.gb
|
|
|
|
- TESTS=asm.h8300
|
|
|
|
- TESTS=asm.java
|
2015-05-12 23:18:55 +00:00
|
|
|
- TESTS=asm.lh5801
|
2015-04-04 13:41:29 +00:00
|
|
|
- TESTS=asm.mips
|
2015-05-12 23:18:55 +00:00
|
|
|
- TESTS=asm.msp430
|
2015-04-01 10:55:08 +00:00
|
|
|
- TESTS=asm.tms320
|
2015-05-12 23:18:55 +00:00
|
|
|
- TESTS=asm.ws
|
2015-04-14 19:23:59 +00:00
|
|
|
- TESTS=asm.x86
|
2015-05-12 23:18:55 +00:00
|
|
|
- TESTS=asm.z80
|
2015-04-01 10:42:41 +00:00
|
|
|
|
2015-04-06 11:21:02 +00:00
|
|
|
#- debugger
|
2015-04-06 11:34:59 +00:00
|
|
|
#- TESTS=dbg.linux
|
2015-04-08 23:13:12 +00:00
|
|
|
- TESTS=io # IO
|
2015-04-04 13:22:24 +00:00
|
|
|
- TESTS=commands # r2 commands related
|
2015-04-03 08:45:11 +00:00
|
|
|
- TESTS=tools # tools related
|
2015-04-01 10:42:41 +00:00
|
|
|
|
2015-04-03 13:41:48 +00:00
|
|
|
# Force build on container-based infrastructure
|
|
|
|
sudo: false
|
|
|
|
|
2014-06-13 00:45:31 +00:00
|
|
|
# Additional depencies like capstone are downloaded by the r2 makefiles.
|
2015-04-03 13:41:48 +00:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- dc # GNU dc, used by r2r.
|
2015-04-14 22:47:16 +00:00
|
|
|
- cabextract
|
2015-04-03 13:41:48 +00:00
|
|
|
|
2014-06-13 00:45:31 +00:00
|
|
|
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
|
2015-08-28 21:48:23 +00:00
|
|
|
##- pip install 'cpp-coveralls' --user && export PATH=$HOME/.local/bin:$PATH
|
2015-08-28 14:03:13 +00:00
|
|
|
|
2014-06-13 00:45:31 +00:00
|
|
|
script:
|
|
|
|
# llvm-symbolizer isn't in PATH, so we need this.
|
|
|
|
# (Also, YAML doesn't like underscores)
|
2015-03-30 14:23:26 +00:00
|
|
|
#- 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'
|
2014-06-13 00:45:31 +00:00
|
|
|
# Limit the stack size (to 32MiB) to make ThreadSanitizer happy.
|
|
|
|
- ulimit -s 32768
|
|
|
|
# Now on to actually building stuff...
|
2015-04-03 13:41:48 +00:00
|
|
|
# Set prefix for which we don't need sudo
|
2015-08-28 21:48:23 +00:00
|
|
|
##- export CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
|
|
|
|
##- export LDFLAGS="-lgcov ${LDFLAGS}"
|
2015-04-03 13:41:48 +00:00
|
|
|
- ./configure --prefix=`pwd`/install > /dev/null # TODO: Might enable some of the additional features.
|
2015-04-01 02:17:19 +00:00
|
|
|
- make -s > /dev/null
|
2015-04-03 13:41:48 +00:00
|
|
|
- make install > /dev/null
|
2015-04-03 14:55:26 +00:00
|
|
|
- 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.
|
2015-04-07 10:57:10 +00:00
|
|
|
|
2015-08-28 21:48:23 +00:00
|
|
|
##after_success: coveralls -r ${TRAVIS_BUILD_DIR} --exclude lib --exclude tests --gcov-options '\-lp'
|
2015-08-28 14:01:33 +00:00
|
|
|
|
2015-04-07 10:57:10 +00:00
|
|
|
notifications:
|
|
|
|
irc: "chat.freenode.net#radare"
|