Travis: build matrix improvements + CPP11 build

This commit is contained in:
Loic Blot 2016-10-05 22:17:22 +02:00 committed by Ner'zhul
parent 7fab86a49d
commit 61d1751dff
5 changed files with 30 additions and 28 deletions

@ -1,14 +1,4 @@
language: cpp language: cpp
compiler:
- gcc
- clang
os:
- osx
- linux
env:
- PLATFORM=Win32
- PLATFORM=Win64
- PLATFORM=Unix
before_install: ./util/travis/before_install.sh before_install: ./util/travis/before_install.sh
script: ./util/travis/script.sh script: ./util/travis/script.sh
sudo: required sudo: required
@ -16,14 +6,26 @@ notifications:
email: false email: false
matrix: matrix:
fast_finish: true fast_finish: true
exclude: include:
- env: PLATFORM=Win32 - env: PLATFORM=Win32
compiler: clang compiler: gcc
os: linux
- env: PLATFORM=Win64 - env: PLATFORM=Win64
compiler: gcc
os: linux
- env: PLATFORM=Unix COMPILER=clang
compiler: clang compiler: clang
- env: PLATFORM=Win32
os: osx
- env: PLATFORM=Win64
os: osx
- compiler: gcc
os: osx os: osx
- env: PLATFORM=Unix COMPILER=g++
compiler: gcc
os: linux
- env: PLATFORM=Unix COMPILER=clang
compiler: clang
os: linux
- env: PLATFORM=Unix COMPILER=g++-6
compiler: gcc
os: linux
addons:
apt:
sources: &sources
- ubuntu-toolchain-r-test

@ -32,7 +32,7 @@ public:
void testAllSettings(); void testAllSettings();
static const char *config_text_before; static const char *config_text_before;
static const char *config_text_after; static const std::string config_text_after;
}; };
static TestSettings g_test_instance; static TestSettings g_test_instance;
@ -69,7 +69,7 @@ const char *TestSettings::config_text_before =
"np_terrain = 5, 40, (250, 250, 250), 12341, 5, 0.7, 2.4\n" "np_terrain = 5, 40, (250, 250, 250), 12341, 5, 0.7, 2.4\n"
"zoop = true"; "zoop = true";
const char *TestSettings::config_text_after = const std::string TestSettings::config_text_after =
"leet = 1337\n" "leet = 1337\n"
"leetleet = 13371337\n" "leetleet = 13371337\n"
"leetleet_neg = -13371337\n" "leetleet_neg = -13371337\n"
@ -197,7 +197,10 @@ void TestSettings::testAllSettings()
UASSERT(s.updateConfigObject(is, os, "", 0) == true); UASSERT(s.updateConfigObject(is, os, "", 0) == true);
//printf(">>>> expected config:\n%s\n", TEST_CONFIG_TEXT_AFTER); //printf(">>>> expected config:\n%s\n", TEST_CONFIG_TEXT_AFTER);
//printf(">>>> actual config:\n%s\n", os.str().c_str()); //printf(">>>> actual config:\n%s\n", os.str().c_str());
#if __cplusplus < 201103L
// This test only works in older C++ versions than C++11 because we use unordered_map
UASSERT(os.str() == config_text_after); UASSERT(os.str() == config_text_after);
#endif
} catch (SettingNotFoundException &e) { } catch (SettingNotFoundException &e) {
UASSERT(!"Setting not found!"); UASSERT(!"Setting not found!");
} }

@ -163,6 +163,7 @@ private:
void TestThreading::testAtomicSemaphoreThread() void TestThreading::testAtomicSemaphoreThread()
{ {
Atomic<u32> val; Atomic<u32> val;
val = 0;
Semaphore trigger; Semaphore trigger;
static const u8 num_threads = 4; static const u8 num_threads = 4;

@ -1,16 +1,8 @@
#!/bin/bash -e #!/bin/bash -e
if [[ $TRAVIS_OS_NAME == "linux" ]]; then if [[ $TRAVIS_OS_NAME == "linux" ]]; then
if [[ $CC == "clang" ]]; then
export PATH="/usr/bin/:$PATH"
sudo sh -c 'echo "deb http://ppa.launchpad.net/eudoxos/llvm-3.1/ubuntu precise main" >> /etc/apt/sources.list'
sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-keys 92DE8183
sudo apt-get update
sudo apt-get install llvm-3.1
sudo apt-get install clang
fi
sudo apt-get update sudo apt-get update
sudo apt-get install p7zip-full sudo apt-get install p7zip-full $COMPILER
fi fi
if [[ $PLATFORM == "Unix" ]]; then if [[ $PLATFORM == "Unix" ]]; then

@ -4,6 +4,10 @@ if [[ $PLATFORM == "Unix" ]]; then
mkdir -p travisbuild mkdir -p travisbuild
cd travisbuild || exit 1 cd travisbuild || exit 1
CMAKE_FLAGS='' CMAKE_FLAGS=''
if [[ $COMPILER == "g++-6" ]]; then
export CC=gcc-6
export CXX=g++-6
fi
# Clang builds with FreeType fail on Travis # Clang builds with FreeType fail on Travis
if [[ $CC == "clang" ]]; then if [[ $CC == "clang" ]]; then
CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE' CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE'