ci: update .travis.yml

Change-Id: Iae5bd970ec211749b28bc955c401e04bae4d42f7
diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh
index 469b5bd..e9c1c85 100755
--- a/.jenkins.d/20-tests.sh
+++ b/.jenkins.d/20-tests.sh
@@ -41,5 +41,8 @@
 ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
 export ASAN_OPTIONS
 
-# Run all tests as unprivileged user
+export BOOST_TEST_BUILD_INFO=1
+export BOOST_TEST_COLOR_OUTPUT=1
+
+# Run unit tests
 ./build/unit-tests $(ut_log_args)
diff --git a/.travis.yml b/.travis.yml
index efaf072..47579e9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,10 +21,6 @@
     # Linux/clang
     # https://apt.llvm.org/
     - os: linux
-      env: COMPILER=clang++-3.6
-    - os: linux
-      env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
-    - os: linux
       env: COMPILER=clang++-3.8
     - os: linux
       env: COMPILER=clang++-3.9
@@ -34,33 +30,43 @@
       env: COMPILER=clang++-5.0
     - os: linux
       env: COMPILER=clang++-6.0
+    # temporarily disable AddressSanitizer on clang-7 and later
+    # due to https://bugs.llvm.org/show_bug.cgi?id=40808
     - os: linux
-      env: COMPILER=clang++-7
+      env: COMPILER=clang++-7 DISABLE_ASAN=yes
+    - os: linux
+      env: COMPILER=clang++-8 DISABLE_ASAN=yes
+    - os: linux
+      env: COMPILER=clang++-9 DISABLE_ASAN=yes
 
     # macOS/clang
-    # https://docs.travis-ci.com/user/reference/osx/#OS-X-Version
+    # https://docs.travis-ci.com/user/reference/osx/#macos-version
     - os: osx
       osx_image: xcode8.3
       env: OSX_VERSION=10.12
     - os: osx
-      osx_image: xcode9.3
+      osx_image: xcode9.2
+      env: OSX_VERSION=10.12
+    - os: osx
+      osx_image: xcode9.4
       env: OSX_VERSION=10.13
+    - os: osx
+      osx_image: xcode10.1
+      env: OSX_VERSION=10.13
+    - os: osx
+      osx_image: xcode10.2
+      env: OSX_VERSION=10.14
 
   allow_failures:
-    - env: COMPILER=clang++-3.6
-    - env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
-    - env: COMPILER=clang++-3.8
-    - env: COMPILER=clang++-3.9
-    - env: COMPILER=clang++-4.0
-    - env: COMPILER=clang++-5.0
-    - env: COMPILER=clang++-6.0
-    - env: COMPILER=clang++-7
+    - env: COMPILER=clang++-9 DISABLE_ASAN=yes
 
   fast_finish: true
 
 install: |
     case ${COMPILER} in
-      g++-[6789])
+      g++-5)
+        ;;
+      g++-*)
         travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
         travis_retry sudo apt-get -qq update
         travis_retry sudo apt-get -qy install "${COMPILER}"
@@ -68,8 +74,8 @@
       clang++-*)
         CLANG_VERSION=${COMPILER/clang++}
         if [[ ${CLANG_VERSION} != "-3."* ]]; then
-          wget -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
-          travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-7} main"
+          travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
+          travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-9} main"
         fi
         travis_retry sudo apt-get -qq update
         travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}"
@@ -79,6 +85,11 @@
 before_script:
   - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi
   - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
+  - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
+  # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
+  - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
+  # workaround for https://github.com/travis-ci/travis-ci/issues/6688
+  - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
   - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
   - ${CXX:-c++} --version
   - python --version