9342fe3f25
The new set of tests iterates over Boost.Thread public headers and verifies that each header is self-contained, i.e. doesn't have any missing includes and contains syntactically correct content. On Windows and Cygwin, a second test per each header is generated, which includes the header after windows.h. This verifies that the header doesn't have conflicts with Windows SDK and that includeing windows.h does not break platform detection in Boost.Thread. This set of tests would have detected the bug fixed by https://github.com/boostorg/thread/pull/263.
375 lines
8.8 KiB
YAML
375 lines
8.8 KiB
YAML
# Copyright 2016, 2017 Peter Dimov
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
|
|
|
language: cpp
|
|
|
|
sudo: false
|
|
|
|
python: "2.7"
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- develop
|
|
- /feature\/.*/
|
|
|
|
env:
|
|
matrix:
|
|
- BOGUS_JOB=true
|
|
|
|
matrix:
|
|
|
|
exclude:
|
|
- env: BOGUS_JOB=true
|
|
|
|
include:
|
|
- os: linux
|
|
compiler: g++
|
|
env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++11 SELF_CONTAINED_HEADER_TESTS=1
|
|
|
|
# - os: linux
|
|
# compiler: g++-4.7
|
|
# env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-4.7
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-4.8
|
|
# env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-4.8
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-4.9
|
|
# env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-4.9
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-5
|
|
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++98
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-5
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-5
|
|
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-5
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-5
|
|
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-5
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-5
|
|
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++1z
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-5
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-6
|
|
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++98
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-6
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-6
|
|
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-6
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-6
|
|
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-6
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
#
|
|
# - os: linux
|
|
# compiler: g++-6
|
|
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - g++-6
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
|
|
- os: linux
|
|
dist: trusty
|
|
compiler: g++-7
|
|
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++98
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- os: linux
|
|
dist: trusty
|
|
compiler: g++-7
|
|
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++11
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- os: linux
|
|
dist: trusty
|
|
compiler: g++-7
|
|
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++14
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- os: linux
|
|
dist: trusty
|
|
compiler: g++-7
|
|
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++1z
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
|
|
# - os: linux
|
|
# compiler: clang++-3.5
|
|
# env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.5
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.5#
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.6
|
|
# env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.6
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.6
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.7
|
|
# env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.7
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.7
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.8
|
|
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.8
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.8
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.8
|
|
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.8
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.8
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.8
|
|
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.8
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.8
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.9
|
|
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.9
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.9
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.9
|
|
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.9
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.9
|
|
#
|
|
# - os: linux
|
|
# compiler: clang++-3.9
|
|
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z
|
|
# addons:
|
|
# apt:
|
|
# packages:
|
|
# - clang-3.9
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# - llvm-toolchain-precise-3.9
|
|
#
|
|
- os: linux
|
|
compiler: clang++-4.0
|
|
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++98
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-4.0
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-4.0
|
|
|
|
- os: linux
|
|
compiler: clang++-4.0
|
|
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++11
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-4.0
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-4.0
|
|
|
|
- os: linux
|
|
compiler: clang++-4.0
|
|
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++14
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-4.0
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-4.0
|
|
|
|
- os: linux
|
|
compiler: clang++-4.0
|
|
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++1z
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-4.0
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-4.0
|
|
|
|
- os: osx
|
|
compiler: clang++
|
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++98 SELF_CONTAINED_HEADER_TESTS=1
|
|
|
|
# - os: osx
|
|
# compiler: clang++
|
|
# env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
|
|
|
# - os: osx
|
|
# compiler: clang++
|
|
# env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
|
|
|
- os: osx
|
|
compiler: clang++
|
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
|
|
|
install:
|
|
- GIT_FETCH_JOBS=8
|
|
- BOOST_BRANCH=develop
|
|
- if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
|
|
- cd ..
|
|
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
|
- cd boost-root
|
|
- git submodule init tools/build
|
|
- git submodule init libs/config
|
|
- git submodule init tools/boostdep
|
|
- git submodule update --jobs $GIT_FETCH_JOBS
|
|
- mkdir -p libs/thread
|
|
- cp -r $TRAVIS_BUILD_DIR/* libs/thread
|
|
- python tools/boostdep/depinst/depinst.py --git_args "--jobs $GIT_FETCH_JOBS" thread
|
|
- ./bootstrap.sh
|
|
- ./b2 headers
|
|
|
|
script:
|
|
- |-
|
|
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
|
- BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
|
|
- if [ -z "$SELF_CONTAINED_HEADER_TESTS" ]; then export BOOST_THREAD_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS=1; fi
|
|
- ./b2 -j $BUILD_JOBS -l60 libs/thread/test toolset=$TOOLSET
|
|
|
|
notifications:
|
|
email:
|
|
on_success: always
|