TravisCI: use more bash variable checks

To detect typos and logic errors.
This commit is contained in:
Roelf-Jilling 2020-01-16 14:12:18 +01:00
parent b29a18d3a8
commit adc5fb0d14

View File

@ -394,9 +394,9 @@ before_install:
DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- | - |
# Setup # Setup
mkdir -p "${DEPS_DIR}" && cd "${DEPS_DIR}" mkdir -p "${DEPS_DIR:?}" && cd "${DEPS_DIR:?}"
mkdir -p ~/tools && cd ~/tools mkdir -p ~/tools && cd ~/tools
if [[ ${TRAVIS_OS_NAME} == "osx" ]]; then if [[ ${TRAVIS_OS_NAME:?} == "osx" ]]; then
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
fi fi
- | - |
@ -451,14 +451,14 @@ install:
fi fi
done done
) )
if [[ "${TRAVIS_OS_NAME}" == "osx" && ! ("${CMAKE_VERSION:-}" =~ .+[' '].+) ]] if [[ ${CMAKE_VERSION:-} && "${TRAVIS_OS_NAME:?}" == "osx" && ! ("${CMAKE_VERSION:-}" =~ .+[' '].+) ]]
then # Single entry -> default CMake version then # Single entry -> default CMake version
export PATH=${HOME}/tools/cmake-${CMAKE_VERSION}/bin:$PATH export PATH=${HOME}/tools/cmake-${CMAKE_VERSION:?}/bin:$PATH
fi fi
CMAKE_path=("cmake") # installed CMake version CMAKE_path=("cmake") # start with installed CMake version
for VERSION in ${CMAKE_VERSION:-}; do for VERSION in ${CMAKE_VERSION:-}; do
tmp_path="$HOME/tools/cmake-${VERSION}/bin/cmake" tmp_path="$HOME/tools/cmake-${VERSION:?}/bin/cmake"
if [[ -x "$(command -v $tmp_path)" ]]; then CMAKE_path+=("$tmp_path"); fi if [[ -x "$(command -v ${tmp_path:?})" ]]; then CMAKE_path+=("${tmp_path:?}"); fi
done done
function test_CMake_generate { function test_CMake_generate {
# $1: cmake or full path to cmake # $1: cmake or full path to cmake
@ -469,7 +469,7 @@ install:
echo "Configuration = ${BUILD_TYPE:-Debug}" echo "Configuration = ${BUILD_TYPE:-Debug}"
$1 -DCMAKE_BUILD_TYPE=${BUILD_TYPE:-Debug} ${CMAKE_GEN_FLAGS[@]:?} .. $1 -DCMAKE_BUILD_TYPE=${BUILD_TYPE:-Debug} ${CMAKE_GEN_FLAGS[@]:?} ..
rm -rf !(tests/googletest-*) rm -rf !(tests/googletest-*)
if [[ ! ${BUILD_TYPE:-} ]]; then echo "Configuration = Release" if [[ ! ${BUILD_TYPE:-} ]]; then echo "" && echo "Configuration = Release"
$1 -DCMAKE_BUILD_TYPE=Release ${CMAKE_GEN_FLAGS[@]:?} .. $1 -DCMAKE_BUILD_TYPE=Release ${CMAKE_GEN_FLAGS[@]:?} ..
rm -rf !(tests/googletest-*) rm -rf !(tests/googletest-*)
fi fi
@ -478,7 +478,7 @@ install:
} }
- | - |
# CMake wrapper (Trusty, Xenial & Bionic); restore default behaviour. # CMake wrapper (Trusty, Xenial & Bionic); restore default behaviour.
if [[ "${TRAVIS_OS_NAME}" == "linux" && if [[ "${TRAVIS_OS_NAME:?}" == "linux" &&
"$(lsb_release --codename)" =~ (trusty|xenial|bionic)$ ]] "$(lsb_release --codename)" =~ (trusty|xenial|bionic)$ ]]
then then
if [[ -x $(command -v /usr/local/bin/cmake) ]]; then if [[ -x $(command -v /usr/local/bin/cmake) ]]; then
@ -492,9 +492,9 @@ install:
# [linux]: Install the right version of libc++ # [linux]: Install the right version of libc++
############################################################################ ############################################################################
- | - |
LLVM_INSTALL=${DEPS_DIR}/llvm/install LLVM_INSTALL=${DEPS_DIR:?}/llvm/install
# if in linux and compiler clang and llvm not installed # if in linux and compiler clang and llvm not installed
if [[ "${TRAVIS_OS_NAME}" == "linux" && "${CXX%%+*}" == "clang" && -n "$(ls -A ${LLVM_INSTALL})" ]]; then if [[ "${TRAVIS_OS_NAME:?}" == "linux" && "${CXX%%+*}" == "clang" && -n "$(ls -A ${LLVM_INSTALL:?})" ]]; then
if [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2"; if [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1"; elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1"; elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";