Add another test (javanano), but run it in parallel.
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 8770d16..7d9def0 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -47,6 +47,7 @@
   libgtest-dev \
   libtool \
   make \
+  parallel \
   strace \
   python-dev \
   python-setuptools \
diff --git a/tools/run_tests/jenkins.sh b/tools/run_tests/jenkins.sh
index bbca338..c0d02dd 100755
--- a/tools/run_tests/jenkins.sh
+++ b/tools/run_tests/jenkins.sh
@@ -7,6 +7,7 @@
 # Set value used in tests.sh.
 PARALLELISM=-j8
 
+set -e  # exit immediately on error
 set -x  # display all commands
 
 rm -rf $BUILD_DIR
@@ -15,9 +16,15 @@
 git clone /var/local/jenkins/protobuf
 cd protobuf
 
-# If protoc fails to build, we can't test anything else.
-$TEST_SCRIPT cpp || exit 1
+OUTPUT_DIR=`mktemp -d`
+mkdir -p $OUTPUT_DIR/1
 
-# Other tests can fail and we keep on going.
-#$TEST_SCRIPT java_jdk6
-$TEST_SCRIPT java_jdk7
+# cpp build needs to run first, non-parallelized, so that protoc is available
+# for other builds.
+$TEST_SCRIPT cpp | tee $OUTPUT_DIR/1/cpp
+
+# Other tests are run in parallel.  The overall run fails if any one of them
+# fails.
+
+# java_jdk6
+parallel $TEST_SCRIPT ::: java_jdk7 javanano_jdk7