1
0
mirror of https://github.com/eclipse/paho.mqtt.cpp.git synced 2025-05-09 11:21:24 +08:00

Updated travis for CMake build with Catch2 unit tests.

This commit is contained in:
fpagliughi 2019-07-28 15:15:41 -04:00
parent 735be58b66
commit 596b8afb45
4 changed files with 103 additions and 84 deletions

View File

@ -1,11 +1,11 @@
language: cpp
sudo: required
dist: trusty
dist: bionic
os: linux
before_install:
- ./install_catch2.sh
install:
# Install Paho MQTT C (Need only paho-mqtt3a and paho-mqtt3as)
- ./install_paho_mqtt_c.sh
@ -13,7 +13,6 @@ install:
addons:
apt:
sources:
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- cppcheck
@ -26,49 +25,12 @@ addons:
matrix:
include:
# GCC 4.8
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- g++-4.8
- cppcheck
- libcppunit-dev
- git
- cmake
- cmake-data
- doxygen
- mosquitto
env: COMPILER=g++-4.8
# GCC 4.9
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- g++-4.9
- cppcheck
- libcppunit-dev
- git
- cmake
- cmake-data
- doxygen
- mosquitto
env: COMPILER=g++-4.9
# GCC 5
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- g++-5
@ -86,7 +48,6 @@ matrix:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- g++-6
@ -98,17 +59,15 @@ matrix:
- doxygen
- mosquitto
env: COMPILER=g++-6
# Clang 3.6
- compiler: clang
# GCC 7
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- clang-3.6
- g++-7
- cppcheck
- libcppunit-dev
- git
@ -116,18 +75,16 @@ matrix:
- cmake-data
- doxygen
- mosquitto
env: COMPILER=clang++-3.6
# Clang 3.8
- compiler: clang
env: COMPILER=g++-7
# GCC 8
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- clang-3.8
- g++-8
- cppcheck
- libcppunit-dev
- git
@ -135,13 +92,47 @@ matrix:
- cmake-data
- doxygen
- mosquitto
env: COMPILER=clang++-3.8
env: COMPILER=g++-8
# Clang 3.9
- compiler: clang
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- clang-3.9
- cppcheck
- libcppunit-dev
- git
- cmake
- cmake-data
- doxygen
- mosquitto
env: COMPILER=clang++-3.9
# Clang 4.0
- compiler: clang
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
packages:
- clang-4.0
- cppcheck
- libcppunit-dev
- git
- cmake
- cmake-data
- doxygen
- mosquitto
env: COMPILER=clang++-4.0
exclude:
- compiler: gcc
script:
# Test CMake building
- ./travis_build_cmake.sh
# Test build
- ./travis_build.sh
# Static Analysis
- cppcheck --enable=all --std=c++11 --force --quiet src/*.cpp

22
install_catch2.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
#
# install_catch2.sh
#
# Travis CI build/test helper script for the Eclipse Paho C++ library.
# This installs Catch2 into the VM.
#
set -ex
VERSION=2.9.1
# Install Catch2 from sources
wget https://github.com/catchorg/Catch2/archive/v${VERSION}.tar.gz
tar -xf v${VERSION}.tar.gz
cd Catch2-${VERSION}/
cmake -Bbuild -H. -DBUILD_TESTING=OFF
# CMake bin is installed in a strange place where
# sudo can not find by default.
sudo env "PATH=$PATH" cmake --build build/ --target install

33
travis_build.sh Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
set -e
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
if [ "$COMPILER" == "" ]; then
COMPILER=g++;
fi
echo "travis build dir $TRAVIS_BUILD_DIR pwd $PWD"
rm -rf build/
cmake -Bbuild -H. -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=OFF
cmake --build build/
pushd build
sudo make install
popd
# Run the unit tests
./build/tests/unit/unit_tests #--success
#ctest -VV --timeout 600
#cpack --verbose
rm -rf build/
cmake -Bbuild -H. -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=ON
cmake --build build/
pushd build
sudo make install
popd
fi

View File

@ -1,27 +0,0 @@
#!/bin/bash
set -e
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
if [ "$COMPILER" == "" ]; then
COMPILER=g++;
fi
rm -rf build_cmake
mkdir build_cmake
pushd build_cmake
cmake -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=OFF ..
make
sudo make install
popd
rm -rf build_cmake
mkdir build_cmake
pushd build_cmake
cmake -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=ON -DPAHO_WITH_SSL=ON ..
make
sudo make install
popd
fi