Browse Source

Remove the OS X checks from travis.sh, instead use excludes to not fire up a vm for something we can't test.

Thomas Van Lenten 10 years ago
parent
commit
c4d3638f51
2 changed files with 31 additions and 7 deletions
  1. 23 1
      .travis.yml
  2. 8 6
      travis.sh

+ 23 - 1
.travis.yml

@@ -1,4 +1,8 @@
 sudo: required
 sudo: required
+# Note: travis currently does not support listing more than one language so
+# this cheats and claims to only be cpp.  If they add multiple language
+# support, this should probably get updated to install steps and/or
+# rvm/gemfile/jdk/etc. entries rather than manually doing the work.
 language: cpp
 language: cpp
 os:
 os:
   - linux
   - linux
@@ -23,9 +27,27 @@ env:
   - CONFIG=ruby22
   - CONFIG=ruby22
   - CONFIG=jruby
   - CONFIG=jruby
 matrix:
 matrix:
-  allow_failures:
+  exclude:
+    # It's nontrivial to programmatically install a new JDK from the command
+    # line on OS X, so we rely on testing on Linux for Java code.
+    - os: osx
+      env: CONFIG=java_jdk6
+    - os: osx
+      env: CONFIG=java_jdk7
+    - os: osx
+      env: CONFIG=java_oracle7
+    - os: osx
+      env: CONFIG=javanano_jdk6
+    - os: osx
+      env: CONFIG=javanano_jdk7
+    - os: osx
+      env: CONFIG=javanano_oracle7
+    # Requires installing mono, currently travis.sh is doing that with apt-get
+    # which doesn't work on OS X.
     - os: osx
     - os: osx
       env: CONFIG=csharp
       env: CONFIG=csharp
+  allow_failures:
+    # These currently do not work on OS X but are being worked on by @haberman.
     - os: osx
     - os: osx
       env: CONFIG=ruby22
       env: CONFIG=ruby22
     - os: osx
     - os: osx

+ 8 - 6
travis.sh

@@ -1,5 +1,13 @@
 #!/usr/bin/env bash
 #!/usr/bin/env bash
 
 
+# Note: travis currently does not support testing more than one language so the
+# .travis.yml cheats and claims to only be cpp.  If they add multiple language
+# support, this should probably get updated to install steps and/or
+# rvm/gemfile/jdk/etc. entries rather than manually doing the work.
+
+# .travis.yml uses matrix.exclude to block the cases where app-get can't be
+# use to install things.
+
 build_cpp() {
 build_cpp() {
   ./autogen.sh
   ./autogen.sh
   ./configure
   ./configure
@@ -28,12 +36,6 @@ build_csharp() {
 }
 }
 
 
 use_java() {
 use_java() {
-  if [ `uname` != "Linux" ]; then
-    # It's nontrivial to programmatically install a new JDK from the command
-    # line on OS X, so we rely on testing on Linux for Java code.
-    echo "Java not tested on OS X."
-    exit 0  # success
-  fi
   version=$1
   version=$1
   case "$version" in
   case "$version" in
     jdk6)
     jdk6)