diff --git a/.travis.yml b/.travis.yml index 3e5ebd5897..92790b74a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,8 @@ language: cpp matrix: include: + - os: linux + env: JOB=test ENV=linux - os: linux env: JOB=deploy ENV=linux # - os: linux @@ -17,8 +19,9 @@ matrix: # - os: osx # env: JOB=deploy ENV=osx -install: .travis/phase $JOB $ENV install -script: .travis/phase $JOB $ENV script +install: .travis/phase $JOB $ENV install +script: .travis/phase $JOB $ENV script +after_script: .travis/phase $JOB $ENV after_script branches: only: diff --git a/.travis/build-script b/.travis/build-script new file mode 100755 index 0000000000..aa9aca9407 --- /dev/null +++ b/.travis/build-script @@ -0,0 +1,4 @@ +#!/bin/sh + +RUN $CMAKE -B$BUILD_DIR -H. -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/_install +RUN $MAKE -C $BUILD_DIR -j$NPROC -k install diff --git a/.travis/deploy-install b/.travis/deploy-install old mode 100644 new mode 100755 index cd05681783..3a0015311f --- a/.travis/deploy-install +++ b/.travis/deploy-install @@ -4,3 +4,5 @@ git clone --depth=1 https://github.com/TokTok/toxcore RUN $CMAKE -Btoxcore/$BUILD_DIR -Htoxcore -DASSOC_DHT=ON -DDEBUG=ON -DSTRICT_ABI=ON -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/libs RUN $MAKE -C toxcore/$BUILD_DIR -j$NPROC -k install + +rm -rf toxcore diff --git a/.travis/deploy-script b/.travis/deploy-script old mode 100644 new mode 100755 index 7325dc464c..fe88d70f7c --- a/.travis/deploy-script +++ b/.travis/deploy-script @@ -1,6 +1,4 @@ #!/bin/sh -RUN $CMAKE -B$BUILD_DIR -H. -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/_install -RUN $MAKE -C $BUILD_DIR -j$NPROC -k install - +. $THIS_DIR/build-script $THIS_DIR/git-deploy diff --git a/.travis/linux-install b/.travis/linux-install index b1842093d3..7a62077735 100755 --- a/.travis/linux-install +++ b/.travis/linux-install @@ -7,7 +7,7 @@ sudo add-apt-repository -y ppa:chris-lea/libsodium sudo apt-get update -qq -sudo apt-get install -y \ +sudo apt-get install -y --force-yes \ ffmpeg \ libgtk2.0-dev \ libopenal-dev \ diff --git a/.travis/test-after_script b/.travis/test-after_script new file mode 100755 index 0000000000..67ea494dc8 --- /dev/null +++ b/.travis/test-after_script @@ -0,0 +1,6 @@ +#!/bin/sh + +coveralls \ + --exclude test \ + --exclude updater \ + --gcov-options '\-lp' diff --git a/.travis/test-install b/.travis/test-install new file mode 100755 index 0000000000..eaf0386de3 --- /dev/null +++ b/.travis/test-install @@ -0,0 +1,6 @@ +#!/bin/sh + +# Install cpp-coveralls to upload test coverage results. +pip install --user cpp-coveralls + +. $THIS_DIR/deploy-install diff --git a/.travis/test-script b/.travis/test-script new file mode 100755 index 0000000000..cb289457e2 --- /dev/null +++ b/.travis/test-script @@ -0,0 +1,13 @@ +#!/bin/sh + +export CFLAGS="-fprofile-arcs -ftest-coverage" +export CXXFLAGS="-fprofile-arcs -ftest-coverage" +export LDFLAGS="-lgcov --coverage" + +export DISPLAY=:99.0 +sh -e /etc/init.d/xvfb start + +. $THIS_DIR/build-script + +export CTEST_OUTPUT_ON_FAILURE=1 +RUN $MAKE -C $BUILD_DIR -j$NPROC -k test