forked from radareorg/radare2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
46 lines (42 loc) · 1.75 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# 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.
- TESTS=t # core stuff
- TESTS=t.asm # (dis)assemblers
- TESTS=t.anal # analysis
- TESTS=t.formats # file formats
# Additional depencies like capstone are downloaded by the r2 makefiles.
install:
- sudo apt-get install dc # GNU dc, used by r2r.
- 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
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...
- ./configure # TODO: Might enable some of the additional features.
- make
- sudo make install
- cd radare2-regressions
# Run the tests, report only regressions (FAILED, exit value 1) as errors.
- VERBOSE=1 ./run_tests.sh $TESTS; test $? != 1