From 108b5fef419e5216041a54b3573e2ca9ab5db1b0 Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Fri, 20 Jan 2017 16:31:17 +0300 Subject: [PATCH] Run tests in parallel (they are lightweight), on CI and vagrant boxes By default 20 parllel jobs, but one caveat for travis-ci, osx boxes there slower and have less resources then linux (discovered during testing), so limit number of parallel jobs to 4 there, and also install travis_wait, so that travis-ci will not fail the build when there is no output for 10 minutes, since for osx boxes it is very likely. Refs: travis-ci/travis-ci@7202 --- .travis.yml | 14 +++++++++++--- Vagrantfile | 26 +++++++++++++------------- appveyor.yml | 3 ++- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0aab24c6..cc370e9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,8 @@ before_install: - if [ -n "$COVERALLS" ]; then pip install --user cpp-coveralls; fi + - export JOBS=20 + - export TIMEOUT=50 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; brew uninstall libtool && brew install libtool; @@ -44,6 +46,8 @@ before_install: export CFLAGS=-I$CMAKE_INCLUDE_PATH LDFLAGS=-L$CMAKE_LIBRARY_PATH; + + export JOBS=4; fi addons: @@ -65,14 +69,18 @@ script: ./autogen.sh && ./configure $EVENT_CONFIGURE_OPTIONS && make && - make verify; + travis_wait $TIMEOUT make -j $JOBS verify; fi - if [ "$EVENT_BUILD_METHOD" = "cmake" ]; then + export + CTEST_PARALLEL_LEVEL=$JOBS + CTEST_OUTPUT_ON_FAILURE=1; + mkdir build && cd build && cmake .. $EVENT_CMAKE_OPTIONS && - cmake --build . && - CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target verify; + travis_wait $TIMEOUT + cmake --build . --target verify; fi after_script: diff --git a/Vagrantfile b/Vagrantfile index 793a0a23..484f4d1c 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -61,7 +61,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -71,7 +71,7 @@ Vagrant.configure("2") do |config| cd /vagrant ./autogen.sh ./configure - make -j4 verify + make -j20 verify SHELL end end @@ -102,7 +102,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -112,7 +112,7 @@ Vagrant.configure("2") do |config| cd /vagrant ./autogen.sh ./configure - make -j4 verify + make -j20 verify SHELL end end @@ -141,7 +141,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -151,7 +151,7 @@ Vagrant.configure("2") do |config| cd /vagrant ./autogen.sh ./configure - make -j4 verify + make -j20 verify SHELL end end @@ -200,7 +200,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -212,7 +212,7 @@ Vagrant.configure("2") do |config| cd ~/vagrant ./autogen.sh MAKE=gmake ./configure - gmake -j4 verify + gmake -j20 verify SHELL end end @@ -249,7 +249,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -263,7 +263,7 @@ Vagrant.configure("2") do |config| cd /vagrant ./autogen.sh ./configure - make -j4 verify + make -j20 verify SHELL end end @@ -300,7 +300,7 @@ Vagrant.configure("2") do |config| export CTEST_TEST_TIMEOUT=1800 export CTEST_OUTPUT_ON_FAILURE=1 - export CTEST_PARALLEL_LEVEL=10 + export CTEST_PARALLEL_LEVEL=20 cmake --build . --target verify SHELL end @@ -310,7 +310,7 @@ Vagrant.configure("2") do |config| cd /vagrant ./autogen.sh ./configure - make -j4 verify + make -j20 verify SHELL end end @@ -390,7 +390,7 @@ Vagrant.configure("2") do |config| bash -lc "echo 'C:/OpenSSL-Win32 /ssl ntfs binary 0 0' >> /etc/fstab" bash -lc "echo 'C:/vagrant /vagrant ntfs binary 0 0' >> /etc/fstab" - bash -lc "exec 0&1; cd /vagrant; bash -x ./autogen.sh && ./configure LDFLAGS='-L/ssl -L/ssl/lib -L/ssl/lib/MinGW' CFLAGS=-I/ssl/include && make -j4 verify" + bash -lc "exec 0&1; cd /vagrant; bash -x ./autogen.sh && ./configure LDFLAGS='-L/ssl -L/ssl/lib -L/ssl/lib/MinGW' CFLAGS=-I/ssl/include && make -j20 verify" SHELL end end diff --git a/appveyor.yml b/appveyor.yml index 2b56b633..9e33f952 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -49,11 +49,12 @@ build_script: bash -lc "echo 'C:\MinGW /mingw' > /etc/fstab" bash -lc "echo 'C:\OpenSSL-Win32 /ssl' >> /etc/fstab" $env:APPVEYOR_BUILD_FOLDER = $env:APPVEYOR_BUILD_FOLDER -replace "\\", "/" - bash -lc "exec 0&1; cd $env:APPVEYOR_BUILD_FOLDER; bash -x ./autogen.sh && ./configure LDFLAGS='-L/ssl -L/ssl/lib -L/ssl/lib/MinGW' CFLAGS=-I/ssl/include $env:EVENT_CONFIGURE_OPTIONS && make && make verify" + bash -lc "exec 0&1; cd $env:APPVEYOR_BUILD_FOLDER; bash -x ./autogen.sh && ./configure LDFLAGS='-L/ssl -L/ssl/lib -L/ssl/lib/MinGW' CFLAGS=-I/ssl/include $env:EVENT_CONFIGURE_OPTIONS && make && make verify -j20" } else { md build cd build cmake .. $env:EVENT_CMAKE_OPTIONS cmake --build . + $env:CTEST_PARALLEL_LEVEL="20" ctest --output-on-failure } -- 2.40.0