From 12bd94be9adc8850281254c47f9b02dfc781b58b Mon Sep 17 00:00:00 2001 From: androm3da Date: Sat, 6 Jan 2018 13:04:37 -0600 Subject: [PATCH] Add tests to travis (failures masked) --- .travis.yml | 5 +++-- ci/build-travis.sh | 22 ++++++++++++++-------- ci/test.sh | 18 ++++++++++++------ 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 84a0a8bb..d0a41b85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,9 +13,10 @@ compiler: - gcc before_install: - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update && brew install qt5 && brew upgrade boost; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update && brew install qt5 && brew cask install xquartz && brew upgrade boost; fi - if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker pull lukealonso/raiblocks-ci:latest; fi script: - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ci/build-travis.sh "/usr/local/opt/qt5/lib/cmake/Qt5"; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run -v $TRAVIS_BUILD_DIR:/workspace lukealonso/raiblocks-ci:latest /bin/bash -c "cd /workspace && ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5"; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run -v $TRAVIS_BUILD_DIR:/workspace lukealonso/raiblocks-ci:latest /bin/bash -c "cd /workspace && ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"; fi diff --git a/ci/build-travis.sh b/ci/build-travis.sh index c00d9f28..1908456c 100755 --- a/ci/build-travis.sh +++ b/ci/build-travis.sh @@ -1,4 +1,8 @@ #!/bin/bash + +qt_dir=${1} +src_dir=${2} + set -e OS=`uname` @@ -12,19 +16,21 @@ cmake \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DBOOST_ROOT=/usr/local \ - -DQt5_DIR=$1 \ + -DQt5_DIR=${qt_dir} \ .. -make -j2 rai_node -make -j2 core_test if [[ "$OS" == 'Linux' ]]; then - make -j2 rai_wallet + make -j2 else - sudo make -j2 rai_wallet + sudo make -j2 fi -# Exclude flaky or stalling tests. -#./core_test --gtest_filter="-gap_cache.gap_bootstrap:bulk_pull.get_next_on_open:system.system_genesis" - popd + +if [[ "$OSTYPE" == "darwin"* ]]; then + TRUE_CMD=gtrue +else + TRUE_CMD=true +fi +./ci/test.sh ./build || ${TRUE} diff --git a/ci/test.sh b/ci/test.sh index 07750d6e..af797261 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -1,12 +1,21 @@ #!/usr/bin/env bash +build_dir=${1-${PWD}} + BUSYBOX_BASH=${BUSYBOX_BASH-0} if [[ ${FLAVOR-_} == "_" ]]; then FLAVOR="" fi +if [[ "$OSTYPE" == "darwin"* ]]; then + TIMEOUT_CMD=gtimeout +else + TIMEOUT_CMD=timeout +fi + set -o nounset +set -o xtrace # Alpine doesn't offer an xvfb @@ -16,7 +25,7 @@ xvfb_run_() { Xvfb :2 -screen 0 1024x768x24 & xvfb_pid=$! sleep ${INIT_DELAY_SEC} - DISPLAY=:2 timeout ${TIMEOUT_TIME_ARG} ${TIMEOUT_SEC-1200} $@ + DISPLAY=:2 ${TIMEOUT_CMD} ${TIMEOUT_TIME_ARG} ${TIMEOUT_SEC-600} $@ res=${?} kill ${xvfb_pid} @@ -24,10 +33,6 @@ xvfb_run_() { } run_tests() { - build_dir=build_${FLAVOR} - - cd ./${build_dir} - # when busybox pretends to be bash it needs different args # for the timeout builtin if [[ "${BUSYBOX_BASH}" -eq 1 ]]; then @@ -36,7 +41,7 @@ run_tests() { TIMEOUT_TIME_ARG="" fi - timeout ${TIMEOUT_TIME_ARG} ${TIMEOUT_SEC-1200} ./core_test + ${TIMEOUT_CMD} ${TIMEOUT_TIME_ARG} ${TIMEOUT_SEC-600} ./core_test core_test_res=${?} xvfb_run_ ./qt_test @@ -47,4 +52,5 @@ run_tests() { exit $((${core_test_res} + ${qt_test_res})) } +cd ${build_dir} run_tests