summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dimov <pdimov@pdimov.com>2017-09-08 19:53:50 +0300
committerPeter Dimov <pdimov@pdimov.com>2017-09-08 19:53:50 +0300
commit840aaf5d5f1d715bca1fc7e03041666dd531c716 (patch)
tree54cfd2a27174c85b0feb90be2aaf722413df4882
parentcf4138df5de1b6e182ce62f599b7bc3e6753daf9 (diff)
parentd9be8d7c729f2f69bbb6c723df4c79b37bbf2cfc (diff)
downloadboost-840aaf5d5f1d715bca1fc7e03041666dd531c716.tar.gz
Merge branch 'feature/ci-changes'
-rw-r--r--.travis.yml51
-rw-r--r--appveyor.yml9
-rw-r--r--status/Jamfile.v240
3 files changed, 75 insertions, 25 deletions
diff --git a/.travis.yml b/.travis.yml
index 620291a624..39f50e6ee4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,7 @@
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#
# Copyright Rene Rivera 2015-2016.
+# Copyright Peter Dimov 2017.
branches:
only:
@@ -11,10 +12,9 @@ branches:
dist: trusty
-language: c
+language: cpp
-compiler:
- - gcc
+compiler: gcc
addons:
apt:
@@ -42,27 +42,38 @@ matrix:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include:
+
+ # Build release package, but skip the final archive/upload step,
+ # to stay under time limit
+ #
+ # Skip EOL=LF and EOL=CRLF because they often time out
+
+ - env: SCRIPT=ci_boost_release EOL=NONE JOBS=3
+
+ - env: SCRIPT=ci_boost_release MODE=check
+
# Simple integrated status tests check.
- - env:
- - SCRIPT=ci_boost_status
-
- # Build release package for LF end-of-line style text files.
- - env:
- - SCRIPT=ci_boost_release
- - EOL=LF
-
- # Build release package for CRLF end-of-line style text files (i.e. for Windows).
- - env:
- - SCRIPT=ci_boost_release
- - EOL=CRLF
-
+ - env: SCRIPT=ci_boost_status
+
+ # Run 'quick' tests.
+ - env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=gcc
+ compiler: g++
+
+ - env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=gcc CXXSTD=11
+ compiler: g++
+
+ - env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=clang
+ compiler: clang++
+
+ # Run tests for the library updated by this commit.
+ - env: SCRIPT=ci_boost_test_library TOOLSET=gcc CXXSTD=11
+ compiler: g++
+
# Library requirements tests.
- - env:
- - SCRIPT=ci_boost_library_check
+ - env: SCRIPT=ci_boost_library_check
allow_failures:
- - env:
- - SCRIPT=ci_boost_library_check
+ - env: SCRIPT=ci_boost_library_check
before_install:
# Fetch the scripts to do the actual building/testing.
diff --git a/appveyor.yml b/appveyor.yml
index 23b278c32e..8f3ade2999 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,11 +1,20 @@
+version: 1.0.{build}-{branch}
+
branches:
only:
- develop
- master
+image:
+ - Visual Studio 2013
+ - Visual Studio 2015
+ - Visual Studio 2017
+
environment:
matrix:
- SCRIPT: ci_boost_status
+ TARGET: quick
+ - SCRIPT: ci_boost_test_library
init:
- cd %APPVEYOR_BUILD_FOLDER%/..
diff --git a/status/Jamfile.v2 b/status/Jamfile.v2
index 8468365aa7..c8417540ff 100644
--- a/status/Jamfile.v2
+++ b/status/Jamfile.v2
@@ -15,6 +15,9 @@
# --check-libs-only
# Only runs the library conformance tests.
#
+# --no-check-libs
+# Do not run the library conformance tests.
+#
# --limit-tests, or --include-tests
# Only runs the tests for whom the name matches the regex.
# The value for the argument is a comma separated list of simple
@@ -58,6 +61,7 @@ import feature ;
import numbers ;
local check-libs-only = [ MATCH "^--(check-libs-only)" : [ modules.peek : ARGV ] ] ;
+local no-check-libs = [ MATCH "^--(no-check-libs)$" : [ modules.peek : ARGV ] ] ;
local check-libs-only-targets = ;
local libraries = ;
@@ -106,13 +110,13 @@ local rule run-tests ( root : tests * )
t = [ CALC $(t) + 2 ] ;
f = [ CALC $(f) + 2 ] ;
}
- if [ path.exists ../$(root)/$(test) ]
- {
- use-project /boost/$(test) : ../$(root)/$(test) ;
- }
if $(include-test) = y
{
- if $(root) = libs && ( ! ( $(library) in $(libraries) ) )
+ if [ path.exists ../$(root)/$(test) ]
+ {
+ use-project /boost/$(test) : ../$(root)/$(test) ;
+ }
+ if $(root) = libs && ! $(no-check-libs) && ( ! ( $(library) in $(libraries) ) )
{
libraries += $(library) ;
local test_module = [ project.find ../$(root)/$(test) : $(location) ] ;
@@ -146,6 +150,26 @@ local rule run-tests ( root : tests * )
}
}
+local rule find-targets ( target : libs * )
+{
+ local result = ;
+
+ for local lib in $(libs)
+ {
+ local path = ../libs/$(lib)/test ;
+ local project = [ project.load $(path) ] ;
+ local pt = [ project.target $(project) ] ;
+ local mt = [ $(pt).main-target $(target) ] ;
+
+ if $(mt)
+ {
+ result += $(path)//$(target) ;
+ }
+ }
+
+ return $(result) ;
+}
+
local libs-to-test = ;
for local libdir in [ path.glob $(BOOST_ROOT) : libs/* ]
{
@@ -184,3 +208,9 @@ if $(check-libs-only-targets)
{
alias check-libs-only : $(check-libs-only-targets) ;
}
+
+alias minimal : [ find-targets minimal : $(libs-to-test) ] ;
+explicit minimal ;
+
+alias quick : [ find-targets quick : $(libs-to-test) ] ;
+explicit quick ;