diff options
author | Peter Dimov <pdimov@pdimov.com> | 2017-09-08 19:53:50 +0300 |
---|---|---|
committer | Peter Dimov <pdimov@pdimov.com> | 2017-09-08 19:53:50 +0300 |
commit | 840aaf5d5f1d715bca1fc7e03041666dd531c716 (patch) | |
tree | 54cfd2a27174c85b0feb90be2aaf722413df4882 | |
parent | cf4138df5de1b6e182ce62f599b7bc3e6753daf9 (diff) | |
parent | d9be8d7c729f2f69bbb6c723df4c79b37bbf2cfc (diff) | |
download | boost-840aaf5d5f1d715bca1fc7e03041666dd531c716.tar.gz |
Merge branch 'feature/ci-changes'
-rw-r--r-- | .travis.yml | 51 | ||||
-rw-r--r-- | appveyor.yml | 9 | ||||
-rw-r--r-- | status/Jamfile.v2 | 40 |
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 ; |