summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2016-10-05 22:17:22 +0200
committerNer'zhul <nerzhul@users.noreply.github.com>2016-10-06 00:28:24 +0200
commit61d1751dfff71d8fd433c6c84bd39db1672a3ee6 (patch)
treeead3afdfcc79b05f2cd18b16782fa8e68a8a8d81
parent7fab86a49dd569f24804eb7396843e61095e3854 (diff)
downloadminetest-61d1751dfff71d8fd433c6c84bd39db1672a3ee6.tar.gz
minetest-61d1751dfff71d8fd433c6c84bd39db1672a3ee6.tar.bz2
minetest-61d1751dfff71d8fd433c6c84bd39db1672a3ee6.zip
Travis: build matrix improvements + CPP11 build
-rw-r--r--.travis.yml36
-rw-r--r--src/unittest/test_settings.cpp7
-rw-r--r--src/unittest/test_threading.cpp1
-rwxr-xr-xutil/travis/before_install.sh10
-rwxr-xr-xutil/travis/script.sh4
5 files changed, 30 insertions, 28 deletions
diff --git a/.travis.yml b/.travis.yml
index 9d1600818..534479efb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,4 @@
language: cpp
-compiler:
- - gcc
- - clang
-os:
- - osx
- - linux
-env:
- - PLATFORM=Win32
- - PLATFORM=Win64
- - PLATFORM=Unix
before_install: ./util/travis/before_install.sh
script: ./util/travis/script.sh
sudo: required
@@ -16,14 +6,26 @@ notifications:
email: false
matrix:
fast_finish: true
- exclude:
+ include:
- env: PLATFORM=Win32
- compiler: clang
+ compiler: gcc
+ os: linux
- env: PLATFORM=Win64
+ compiler: gcc
+ os: linux
+ - env: PLATFORM=Unix COMPILER=clang
compiler: clang
- - env: PLATFORM=Win32
- os: osx
- - env: PLATFORM=Win64
- os: osx
- - compiler: gcc
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
diff --git a/src/unittest/test_settings.cpp b/src/unittest/test_settings.cpp
index a82d734f0..733c7e92a 100644
--- a/src/unittest/test_settings.cpp
+++ b/src/unittest/test_settings.cpp
@@ -32,7 +32,7 @@ public:
void testAllSettings();
static const char *config_text_before;
- static const char *config_text_after;
+ static const std::string config_text_after;
};
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"
"zoop = true";
-const char *TestSettings::config_text_after =
+const std::string TestSettings::config_text_after =
"leet = 1337\n"
"leetleet = 13371337\n"
"leetleet_neg = -13371337\n"
@@ -197,7 +197,10 @@ void TestSettings::testAllSettings()
UASSERT(s.updateConfigObject(is, os, "", 0) == true);
//printf(">>>> expected config:\n%s\n", TEST_CONFIG_TEXT_AFTER);
//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);
+#endif
} catch (SettingNotFoundException &e) {
UASSERT(!"Setting not found!");
}
diff --git a/src/unittest/test_threading.cpp b/src/unittest/test_threading.cpp
index 224e123df..cdbf9674e 100644
--- a/src/unittest/test_threading.cpp
+++ b/src/unittest/test_threading.cpp
@@ -163,6 +163,7 @@ private:
void TestThreading::testAtomicSemaphoreThread()
{
Atomic<u32> val;
+ val = 0;
Semaphore trigger;
static const u8 num_threads = 4;
diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh
index 70037389b..a2eb37803 100755
--- a/util/travis/before_install.sh
+++ b/util/travis/before_install.sh
@@ -1,16 +1,8 @@
#!/bin/bash -e
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 install p7zip-full
+ sudo apt-get install p7zip-full $COMPILER
fi
if [[ $PLATFORM == "Unix" ]]; then
diff --git a/util/travis/script.sh b/util/travis/script.sh
index 870954ebb..4f37d8f5a 100755
--- a/util/travis/script.sh
+++ b/util/travis/script.sh
@@ -4,6 +4,10 @@ if [[ $PLATFORM == "Unix" ]]; then
mkdir -p travisbuild
cd travisbuild || exit 1
CMAKE_FLAGS=''
+ if [[ $COMPILER == "g++-6" ]]; then
+ export CC=gcc-6
+ export CXX=g++-6
+ fi
# Clang builds with FreeType fail on Travis
if [[ $CC == "clang" ]]; then
CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE'