Skip to content

Commit fbb2ef7

Browse files
jagermanwjakob
authored andcommitted
Miscellaneous travis-ci updates/fixes
- For the debian/buster docker build (GCC 7/C++17) install and use the system `catch` package; this also renames "COMPILER_PACKAGES" to "EXTRA_PACKAGES" since it now contains a non-compiler package. - Add a status message indicating the catch version being used for compiling the embedded tests - Simplify some bash code by using VAR+=" foo" to append (rather than VAR="${VAR} foo" - Fix CMAKE_INCLUDE_PATH appending: it was prepending the ':' but not the existing $CMAKE_INCLUDE_PATH value and so would end up with ":/eigen-path" if CMAKE_INCLUDE_PATH was already set. (This wasn't bug that was actually noticed since currently nothing else sets it).
1 parent 6519388 commit fbb2ef7

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

.travis.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,22 +100,22 @@ before_install:
100100
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
101101
if [ -n "$CLANG" ]; then
102102
export CXX=clang++-$CLANG CC=clang-$CLANG
103-
COMPILER_PACKAGES="clang-$CLANG llvm-$CLANG-dev"
103+
EXTRA_PACKAGES+=" clang-$CLANG llvm-$CLANG-dev"
104104
else
105105
if [ -z "$GCC" ]; then GCC=4.8
106-
else COMPILER_PACKAGES=g++-$GCC
106+
else EXTRA_PACKAGES+=" g++-$GCC"
107107
fi
108108
export CXX=g++-$GCC CC=gcc-$GCC
109109
fi
110110
if [ "$GCC" = "6" ]; then DOCKER=${ARCH:+$ARCH/}debian:stretch
111-
elif [ "$GCC" = "7" ]; then DOCKER=debian:buster
111+
elif [ "$GCC" = "7" ]; then DOCKER=debian:buster EXTRA_PACKAGES+=" catch" DOWNLOAD_CATCH=OFF
112112
fi
113113
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
114114
export CXX=clang++ CC=clang;
115115
fi
116116
if [ -n "$CPP" ]; then CPP=-std=c++$CPP; fi
117117
if [ "${PYTHON:0:1}" = "3" ]; then PY=3; fi
118-
if [ -n "$DEBUG" ]; then CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_BUILD_TYPE=Debug"; fi
118+
if [ -n "$DEBUG" ]; then CMAKE_EXTRA_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"; fi
119119
- |
120120
# Initialize environment
121121
set -e
@@ -133,7 +133,7 @@ before_install:
133133
if [ "$PYPY" = "5.8" ]; then
134134
curl -fSL https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.8.0-linux64.tar.bz2 | tar xj
135135
PY_CMD=$(echo `pwd`/pypy2-v5.8.0-linux64/bin/pypy)
136-
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE:FILEPATH=$PY_CMD"
136+
CMAKE_EXTRA_ARGS+=" -DPYTHON_EXECUTABLE:FILEPATH=$PY_CMD"
137137
else
138138
PY_CMD=python$PYTHON
139139
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
@@ -157,12 +157,12 @@ install:
157157
if [ -n "$DOCKER" ]; then
158158
if [ -n "$DEBUG" ]; then
159159
PY_DEBUG="python$PYTHON-dbg python$PY-scipy-dbg"
160-
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
160+
CMAKE_EXTRA_ARGS+=" -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
161161
fi
162162
$SCRIPT_RUN_PREFIX sh -c "for s in 0 15; do sleep \$s; \
163163
apt-get -qy --no-install-recommends install \
164164
$PY_DEBUG python$PYTHON-dev python$PY-pytest python$PY-scipy \
165-
libeigen3-dev libboost-dev cmake make ${COMPILER_PACKAGES} && break; done"
165+
libeigen3-dev libboost-dev cmake make ${EXTRA_PACKAGES} && break; done"
166166
else
167167
168168
if [ "$CLANG" = "5.0" ]; then
@@ -195,15 +195,15 @@ install:
195195
196196
wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.3.3.tar.gz
197197
tar xzf eigen.tar.gz
198-
export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH:+:}$PWD/eigen-eigen-67e894c6cd8f"
198+
export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH:+$CMAKE_INCLUDE_PATH:}$PWD/eigen-eigen-67e894c6cd8f"
199199
fi
200200
set +e
201201
script:
202202
- $SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS}
203203
-DPYBIND11_PYTHON_VERSION=$PYTHON
204204
-DPYBIND11_CPP_STANDARD=$CPP
205205
-DPYBIND11_WERROR=${WERROR:-ON}
206-
-DDOWNLOAD_CATCH=ON
206+
-DDOWNLOAD_CATCH=${DOWNLOAD_CATCH:-ON}
207207
- $SCRIPT_RUN_PREFIX make pytest -j 2
208208
- $SCRIPT_RUN_PREFIX make cpptest -j 2
209209
- if [ -n "$CMAKE" ]; then $SCRIPT_RUN_PREFIX make test_cmake_build; fi

tests/test_embed/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ if(${PYTHON_MODULE_EXTENSION} MATCHES "pypy")
55
endif()
66

77
find_package(Catch 1.9.3)
8-
if(NOT CATCH_FOUND)
8+
if(CATCH_FOUND)
9+
message(STATUS "Building interpreter tests using Catch v${CATCH_VERSION}")
10+
else()
911
message(STATUS "Catch not detected. Interpreter tests will be skipped. Install Catch headers"
1012
" manually or use `cmake -DDOWNLOAD_CATCH=1` to fetch them automatically.")
1113
return()

0 commit comments

Comments
 (0)