diff --git a/.travis.yml b/.travis.yml index 5bb1a4b9..faae31b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,29 +1,38 @@ -language: generic -cache: - apt: true +os: +- linux matrix: include: - - os: linux - compiler: gcc - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-5 - env: COMPILER=g++-5 + - os: osx + osx_image: xcode7.3 -before_install: -- mkdir -p ~/.cmake -- export PATH=$HOME/.cmake/cmake-3.6.2-Linux-x86_64/bin:$PATH -- travis_retry curl -s https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz | tar -xz -C ~/.cmake +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - gcc-5 + - g++-5 + - clang-3.8 -before_script: +language: cpp +compiler: +- gcc +- clang + +before_install: ./travis.sh + +install: +- if [ "$CXX" = "g++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="g++-5" CC="gcc-5"; fi +- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.8" CC="clang-3.8"; fi +- echo ${PATH} +- echo ${CXX} +- ${CXX} --version +- ${CXX} -v - cmake --version -- ./deps.sh -script: -- cd build -- cmake -DCMAKE_CXX_COMPILER=$COMPILER .. && make && make test +before_script: ./deps.sh + +script: mkdir -p build && cd build && cmake .. && make && make test diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2a34c6c0..00699f69 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,10 +15,13 @@ set( COMMON_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT} ${GOOGLETEST_LIBRARIES} - ${UV_LIBRARIES} - ${LIBRT_LIBRARIES} + ${UV_STATIC_LIBRARY} ) +if(${LIBRT_FOUND}) + list(APPEND COMMON_LINK_LIBS ${LIBRT_LIBRARIES}) +endif(${LIBRT_FOUND}) + add_library(odr OBJECT odr.cpp) target_include_directories(odr PRIVATE ${COMMON_INCLUDE_DIRS}) diff --git a/test/uvw/signal.cpp b/test/uvw/signal.cpp index c57a7e99..4bbbb143 100644 --- a/test/uvw/signal.cpp +++ b/test/uvw/signal.cpp @@ -10,9 +10,9 @@ TEST(Signal, Fake) { handle->on(l); handle->on(l); - handle->start(42); + handle->start(2); - ASSERT_EQ(42, handle->signal()); + ASSERT_EQ(2, handle->signal()); handle->stop(); handle->close(); diff --git a/travis.sh b/travis.sh new file mode 100755 index 00000000..b05ec793 --- /dev/null +++ b/travis.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +USER_PATH_DIR=~/bin +TEMP_DIR=~/.cmake +mkdir -p ${USER_PATH_DIR} +mkdir -p ${TEMP_DIR} + +if [ "$TRAVIS_OS_NAME" == "linux" ]; then + curl -s https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz | tar -xz -C ${TEMP_DIR} + ln -s ${TEMP_DIR}/cmake-3.6.2-Linux-x86_64/bin/cmake ${USER_PATH_DIR} +fi + +if [ "$TRAVIS_OS_NAME" == "osx" ]; then + curl -s https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz | tar -xz -C ${TEMP_DIR} + "${TEMP_DIR}/cmake-3.6.2-Darwin-x86_64/CMake.app/Contents/bin/cmake-gui" --install=${USER_PATH_DIR} +fi