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
This commit is contained in:
Azat Khuzhin 2017-01-20 16:31:17 +03:00
parent 2a67f4fc12
commit 108b5fef41
3 changed files with 26 additions and 17 deletions

View File

@ -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:

26
Vagrantfile vendored
View File

@ -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</dev/null; exec 2>&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</dev/null; exec 2>&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

View File

@ -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</dev/null; exec 2>&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</dev/null; exec 2>&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
}