You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2015/04/27 19:55:38 UTC

[1/7] storm git commit: STORM-704 Apply Travis CI to Apache Storm Project

Repository: storm
Updated Branches:
  refs/heads/master 168fa2f81 -> 771210238


STORM-704 Apply Travis CI to Apache Storm Project

* support build matrix (openjdk6, openjdk7, oraclejdk7, oraclejdk8)
* change log level to WARN while running unit tests
* print out clojure test reports (only errors)


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/db813c77
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/db813c77
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/db813c77

Branch: refs/heads/master
Commit: db813c7781c4359229ddee58bbe40dc763ec0eab
Parents: 330e135
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Fri Mar 27 07:00:35 2015 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Fri Mar 27 07:00:35 2015 +0900

----------------------------------------------------------------------
 .gitignore                                      |  1 +
 .travis.yml                                     |  7 +++
 .../print-errors-from-clojure-test-reports.py   | 50 ++++++++++++++++++++
 dev-tools/travis/travis-build.sh                | 35 ++++++++++++++
 storm-core/test/resources/logback-test.xml      | 26 ++++++++++
 5 files changed, 119 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/db813c77/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index df109b3..02816a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,7 @@ target
 *.iws
 .idea
 .*
+!/.travis.yml
 !/.gitignore
 _site
 dependency-reduced-pom.xml

http://git-wip-us.apache.org/repos/asf/storm/blob/db813c77/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..b76cfbe
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,7 @@
+language: java
+jdk:
+  - openjdk6
+  - openjdk7
+  - oraclejdk7
+  - oraclejdk8
+script: /bin/bash ./dev-tools/travis/travis-build.sh `pwd`

http://git-wip-us.apache.org/repos/asf/storm/blob/db813c77/dev-tools/travis/print-errors-from-clojure-test-reports.py
----------------------------------------------------------------------
diff --git a/dev-tools/travis/print-errors-from-clojure-test-reports.py b/dev-tools/travis/print-errors-from-clojure-test-reports.py
new file mode 100644
index 0000000..58a6cf8
--- /dev/null
+++ b/dev-tools/travis/print-errors-from-clojure-test-reports.py
@@ -0,0 +1,50 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+import os
+import sys
+import glob
+from xml.etree.ElementTree import ElementTree
+
+
+def print_error_reports_from_report_file(file_path):
+    tree = ElementTree()
+    tree.parse(file_path)
+
+    testcases = tree.findall(".//testcase")
+    for testcase in testcases:
+        error = testcase.find("error")
+        if error is not None:
+            print "-" * 50
+            print "classname: %s / testname: %s" % (testcase.get("classname"), testcase.get("name"))
+            print error.text
+            print "-" * 50
+
+
+def main(report_dir_path):
+    for test_report in glob.iglob(report_dir_path + '/*.xml'):
+        file_path = os.path.abspath(test_report)
+        try:
+            print_error_reports_from_report_file(file_path)
+        except Exception, e:
+            print "Error while reading report file, %s" % file_path
+            print "Exception: %s" % e
+
+
+if __name__ == "__main__":
+    if sys.argv < 2:
+        print "Usage: %s [report dir path]" % sys.argv[0]
+        sys.exit(1)
+
+    main(sys.argv[1])
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm/blob/db813c77/dev-tools/travis/travis-build.sh
----------------------------------------------------------------------
diff --git a/dev-tools/travis/travis-build.sh b/dev-tools/travis/travis-build.sh
new file mode 100755
index 0000000..9514443
--- /dev/null
+++ b/dev-tools/travis/travis-build.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+STORM_SRC_ROOT_DIR=$1
+
+TRAVIS_SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+
+cd ${STORM_SRC_ROOT_DIR}
+
+# Travis CI doesn't allow stdout bigger than 4M, so we have to reduce log while running tests
+export LOG_LEVEL=WARN
+# We should concern that Travis CI could be very slow cause it uses VM
+export export STORM_TEST_TIMEOUT_MS=100000
+
+mvn clean test
+
+BUILD_RET_VAL=$?
+
+if [ ${BUILD_RET_VAL} -ne 0 ]
+then
+    echo "There may be clojure test errors from storm-core, printing error reports..."
+    python ${TRAVIS_SCRIPT_DIR}/print-errors-from-clojure-test-reports.py ${STORM_SRC_ROOT_DIR}/storm-core/target/test-reports
+fi
+
+exit ${BUILD_RET_VAL}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm/blob/db813c77/storm-core/test/resources/logback-test.xml
----------------------------------------------------------------------
diff --git a/storm-core/test/resources/logback-test.xml b/storm-core/test/resources/logback-test.xml
new file mode 100644
index 0000000..346b8ca
--- /dev/null
+++ b/storm-core/test/resources/logback-test.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration scan="true" scanPeriod="30 seconds">
+    <appender name="A1" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>%-4r [%t] %-5p %c - %m%n</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.apache.zookeeper" level="WARN"/>
+    <root level="${LOG_LEVEL:-INFO}">
+        <appender-ref ref="A1"/>
+    </root>
+</configuration>
\ No newline at end of file


[2/7] storm git commit: Remove openjdk tests which complains buffer overflow

Posted by bo...@apache.org.
Remove openjdk tests which complains buffer overflow

* https://travis-ci.org/revans2/incubator-storm/jobs/59783142
* doesn't look like our issue, it's JDK issue


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/e109e5ad
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/e109e5ad
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/e109e5ad

Branch: refs/heads/master
Commit: e109e5ad5702a4f12abe4b4158060f4a7f44d6e8
Parents: db813c7
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Fri Apr 24 06:00:09 2015 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Fri Apr 24 06:00:09 2015 +0900

----------------------------------------------------------------------
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/e109e5ad/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index b76cfbe..589d59f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,5 @@
 language: java
 jdk:
-  - openjdk6
-  - openjdk7
   - oraclejdk7
   - oraclejdk8
 script: /bin/bash ./dev-tools/travis/travis-build.sh `pwd`


[7/7] storm git commit: Added STORM-704 to Changelog

Posted by bo...@apache.org.
Added STORM-704 to Changelog


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/77121023
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/77121023
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/77121023

Branch: refs/heads/master
Commit: 7712102381aae329f352e86bcb1cd13bb0598b24
Parents: fbab1c6
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Mon Apr 27 12:54:55 2015 -0500
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Mon Apr 27 12:54:55 2015 -0500

----------------------------------------------------------------------
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/77121023/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 572dedb..eee835e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
 ## 0.11.0
+ * STORM-704: Apply Travis CI to Apache Storm Project
  * STORM-721: Storm UI server should support SSL.
  * STORM-583: Add Microsoft Azure Event Hub spout implementations
  * STORM-712: Storm daemons shutdown if OutOfMemoryError occurs in any thread


[3/7] storm git commit: Fix double export, respecting new multilang packaging

Posted by bo...@apache.org.
Fix double export, respecting new multilang packaging


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/517342b5
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/517342b5
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/517342b5

Branch: refs/heads/master
Commit: 517342b5ad0403e2c291dbb6fb6f70f65a054a3d
Parents: e109e5a
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Fri Apr 24 06:02:19 2015 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Fri Apr 24 06:02:19 2015 +0900

----------------------------------------------------------------------
 dev-tools/travis/travis-build.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/517342b5/dev-tools/travis/travis-build.sh
----------------------------------------------------------------------
diff --git a/dev-tools/travis/travis-build.sh b/dev-tools/travis/travis-build.sh
index 9514443..f7830e3 100755
--- a/dev-tools/travis/travis-build.sh
+++ b/dev-tools/travis/travis-build.sh
@@ -20,9 +20,10 @@ cd ${STORM_SRC_ROOT_DIR}
 # Travis CI doesn't allow stdout bigger than 4M, so we have to reduce log while running tests
 export LOG_LEVEL=WARN
 # We should concern that Travis CI could be very slow cause it uses VM
-export export STORM_TEST_TIMEOUT_MS=100000
+export STORM_TEST_TIMEOUT_MS=100000
 
-mvn clean test
+# We now lean on Travis CI's implicit behavior, ```mvn clean install -DskipTests``` before running script
+mvn test
 
 BUILD_RET_VAL=$?
 
@@ -32,4 +33,4 @@ then
     python ${TRAVIS_SCRIPT_DIR}/print-errors-from-clojure-test-reports.py ${STORM_SRC_ROOT_DIR}/storm-core/target/test-reports
 fi
 
-exit ${BUILD_RET_VAL}
\ No newline at end of file
+exit ${BUILD_RET_VAL}


[4/7] storm git commit: Merge branch 'master' into travis

Posted by bo...@apache.org.
Merge branch 'master' into travis


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/ea609945
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/ea609945
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/ea609945

Branch: refs/heads/master
Commit: ea6099458d3b79a503178bbc08d2022e00b602a6
Parents: 517342b 37a7e8b
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Fri Apr 24 06:58:52 2015 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Fri Apr 24 06:58:52 2015 +0900

----------------------------------------------------------------------
 CHANGELOG.md                                    |  32 +
 DEVELOPER.md                                    |   4 +-
 LICENSE                                         |  29 +
 README.markdown                                 |   1 +
 STORM-UI-REST-API.md                            |  54 +-
 bin/storm.py                                    |  24 +-
 conf/defaults.yaml                              |   2 +-
 dev-tools/test-ns.py                            |  19 +-
 docs/documentation/Multilang-protocol.md        |  63 +-
 docs/documentation/Trident-API-Overview.md      |   2 +-
 examples/storm-starter/README.markdown          |   8 +-
 .../storm-starter/multilang/resources/storm.js  | 373 ---------
 .../storm-starter/multilang/resources/storm.py  | 260 -------
 .../storm-starter/multilang/resources/storm.rb  | 236 ------
 examples/storm-starter/pom.xml                  |  67 +-
 .../storm/starter/bolt/AbstractRankerBolt.java  |   4 +-
 .../storm/starter/bolt/RollingCountAggBolt.java |   1 -
 .../storm/starter/bolt/RollingCountBolt.java    |   4 +-
 .../jvm/storm/starter/util/TupleHelpers.java    |  33 -
 .../org/apache/storm/hbase/bolt/HBaseBolt.java  |   2 +-
 .../storm/hbase/bolt/HBaseLookupBolt.java       |   4 +-
 .../hbase/trident/state/HBaseMapState.java      |   2 +
 .../storm/hbase/trident/state/HBaseState.java   |   2 +-
 .../org/apache/storm/hdfs/bolt/HdfsBolt.java    |   2 +-
 .../storm/hdfs/bolt/SequenceFileBolt.java       |   2 +-
 external/storm-kafka/README.md                  |  44 +-
 .../src/jvm/storm/kafka/KafkaConfig.java        |   2 +-
 .../src/jvm/storm/kafka/KafkaUtils.java         |  21 +-
 .../src/jvm/storm/kafka/PartitionManager.java   |   4 +-
 .../src/jvm/storm/kafka/bolt/KafkaBolt.java     |   6 +
 .../kafka/trident/TridentKafkaEmitter.java      |   4 +-
 .../src/test/storm/kafka/KafkaUtilsTest.java    |   6 +-
 .../test/storm/kafka/bolt/KafkaBoltTest.java    |  27 +
 external/storm-redis/README.md                  | 108 ++-
 external/storm-redis/pom.xml                    |   2 +-
 .../redis/common/container/JedisContainer.java  |   7 +-
 .../redis/trident/state/RedisMapState.java      |  10 +-
 .../redis/topology/PersistentWordCount.java     |  35 -
 pom.xml                                         |   5 +-
 storm-core/pom.xml                              |  40 +-
 storm-core/src/clj/backtype/storm/cluster.clj   |   5 +-
 storm-core/src/clj/backtype/storm/converter.clj |  10 +-
 .../src/clj/backtype/storm/daemon/common.clj    |  15 +-
 .../src/clj/backtype/storm/daemon/executor.clj  |   9 +-
 .../src/clj/backtype/storm/daemon/nimbus.clj    |   8 +-
 .../clj/backtype/storm/daemon/supervisor.clj    |  57 +-
 .../src/clj/backtype/storm/daemon/worker.clj    |  14 +-
 .../src/clj/backtype/storm/local_state.clj      |  99 +++
 storm-core/src/clj/backtype/storm/testing.clj   |  25 +-
 storm-core/src/clj/backtype/storm/ui/core.clj   |  80 +-
 .../src/clj/backtype/storm/ui/helpers.clj       |  15 +-
 storm-core/src/clj/backtype/storm/util.clj      |  23 +-
 storm-core/src/dev/resources/storm.js           | 373 ---------
 storm-core/src/dev/resources/storm.py           | 260 -------
 storm-core/src/dev/resources/storm.rb           | 236 ------
 storm-core/src/jvm/backtype/storm/Config.java   |   9 +
 .../storm/generated/ClusterWorkerHeartbeat.java | 102 ++-
 .../storm/generated/LSApprovedWorkers.java      | 458 +++++++++++
 .../generated/LSSupervisorAssignments.java      | 471 ++++++++++++
 .../storm/generated/LSSupervisorId.java         | 406 ++++++++++
 .../storm/generated/LSWorkerHeartbeat.java      | 755 +++++++++++++++++++
 .../storm/generated/LocalAssignment.java        | 561 ++++++++++++++
 .../storm/generated/LocalStateData.java         | 471 ++++++++++++
 .../jvm/backtype/storm/generated/Nimbus.java    |  12 +-
 .../storm/generated/SupervisorInfo.java         | 116 ++-
 .../storm/generated/SupervisorSummary.java      | 117 ++-
 .../storm/generated/ThriftSerializedObject.java | 516 +++++++++++++
 .../storm/generated/TopologySummary.java        |   2 +-
 .../security/auth/SimpleTransportPlugin.java    |   3 +-
 .../GzipBridgeThriftSerializationDelegate.java  |  64 ++
 .../GzipThriftSerializationDelegate.java        |  57 ++
 .../src/jvm/backtype/storm/task/ShellBolt.java  |   5 +-
 .../backtype/storm/task/TopologyContext.java    | 104 ++-
 .../jvm/backtype/storm/utils/LocalState.java    | 163 +++-
 .../jvm/backtype/storm/utils/NimbusClient.java  |   7 +
 .../jvm/backtype/storm/utils/TupleUtils.java    |  35 +
 .../src/jvm/backtype/storm/utils/Utils.java     | 151 ++--
 .../trident/topology/TridentBoltExecutor.java   |   3 +-
 storm-core/src/multilang/js/storm.js            | 366 ---------
 storm-core/src/multilang/py/storm.py            | 260 -------
 storm-core/src/multilang/rb/storm.rb            | 236 ------
 storm-core/src/py/__init__.py                   |   2 +
 storm-core/src/py/storm/DistributedRPC.py       |   2 +
 .../src/py/storm/DistributedRPCInvocations.py   |   2 +
 storm-core/src/py/storm/Nimbus.py               |  10 +
 storm-core/src/py/storm/__init__.py             |   2 +
 storm-core/src/py/storm/constants.py            |   2 +
 storm-core/src/py/storm/ttypes.py               | 645 +++++++++++++++-
 storm-core/src/storm.thrift                     |  43 ++
 .../src/ui/public/css/jsonFormatter.min.css     |   1 +
 storm-core/src/ui/public/css/style.css          |  15 +-
 storm-core/src/ui/public/index.html             |   3 +
 .../src/ui/public/js/jsonFormatter.min.js       |   2 +
 storm-core/src/ui/public/js/script.js           |   5 +-
 .../public/templates/anti-forgery-template.html |  19 -
 .../templates/component-page-template.html      |   2 +-
 .../public/templates/index-page-template.html   |   6 +
 storm-core/src/ui/public/topology.html          |  11 +-
 .../test/clj/backtype/storm/cluster_test.clj    |   4 +-
 .../clj/backtype/storm/local_state_test.clj     |  40 +-
 .../storm/security/auth/nimbus_auth_test.clj    | 233 +++---
 .../clj/backtype/storm/transactional_test.clj   |   6 +-
 ...ipBridgeThriftSerializationDelegateTest.java |  71 ++
 storm-dist/binary/src/main/assembly/binary.xml  |  18 +
 storm-multilang/javascript/pom.xml              |  32 +
 .../src/main/resources/resources/storm.js       | 373 +++++++++
 storm-multilang/python/pom.xml                  |  32 +
 .../src/main/resources/resources/storm.py       | 260 +++++++
 storm-multilang/ruby/pom.xml                    |  32 +
 .../ruby/src/main/resources/resources/storm.rb  | 236 ++++++
 110 files changed, 7131 insertions(+), 3208 deletions(-)
----------------------------------------------------------------------



[6/7] storm git commit: Merge branch 'travis' of https://github.com/HeartSaVioR/storm into STORM-704

Posted by bo...@apache.org.
Merge branch 'travis' of https://github.com/HeartSaVioR/storm into STORM-704

STORM-704: Apply Travis CI to Apache Storm Project


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/fbab1c67
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/fbab1c67
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/fbab1c67

Branch: refs/heads/master
Commit: fbab1c676011ff7c5c024721c8487264e5ce4465
Parents: 168fa2f a315e1f
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Mon Apr 27 12:43:47 2015 -0500
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Mon Apr 27 12:43:47 2015 -0500

----------------------------------------------------------------------
 .gitignore                                      |  1 +
 .travis.yml                                     |  9 +++
 .../print-errors-from-clojure-test-reports.py   | 58 ++++++++++++++++++++
 dev-tools/travis/travis-build.sh                | 50 +++++++++++++++++
 storm-core/test/resources/logback-test.xml      | 26 +++++++++
 5 files changed, 144 insertions(+)
----------------------------------------------------------------------



[5/7] storm git commit: Install ruby / node to recent version, double check clojure test-report

Posted by bo...@apache.org.
Install ruby / node to recent version, double check clojure test-report


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/a315e1fe
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/a315e1fe
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/a315e1fe

Branch: refs/heads/master
Commit: a315e1fe4542b3fa08fbe77bd38ffa79f1b35361
Parents: ea60994
Author: Jungtaek Lim <ka...@gmail.com>
Authored: Sat Apr 25 08:19:00 2015 +0900
Committer: Jungtaek Lim <ka...@gmail.com>
Committed: Sat Apr 25 08:19:00 2015 +0900

----------------------------------------------------------------------
 .travis.yml                                       |  4 ++++
 .../print-errors-from-clojure-test-reports.py     | 16 ++++++++++++----
 dev-tools/travis/travis-build.sh                  | 18 ++++++++++++++++--
 3 files changed, 32 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/a315e1fe/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 589d59f..99da952 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,4 +2,8 @@ language: java
 jdk:
   - oraclejdk7
   - oraclejdk8
+before_install:
+  - rvm use 2.1.5 --install
+  - nvm install 0.12.2
+  - nvm use 0.12.2
 script: /bin/bash ./dev-tools/travis/travis-build.sh `pwd`

http://git-wip-us.apache.org/repos/asf/storm/blob/a315e1fe/dev-tools/travis/print-errors-from-clojure-test-reports.py
----------------------------------------------------------------------
diff --git a/dev-tools/travis/print-errors-from-clojure-test-reports.py b/dev-tools/travis/print-errors-from-clojure-test-reports.py
index 58a6cf8..1cb88fc 100644
--- a/dev-tools/travis/print-errors-from-clojure-test-reports.py
+++ b/dev-tools/travis/print-errors-from-clojure-test-reports.py
@@ -18,6 +18,13 @@ import glob
 from xml.etree.ElementTree import ElementTree
 
 
+def print_detail_information(testcase, fail_or_error):
+    print "-" * 50
+    print "classname: %s / testname: %s" % (testcase.get("classname"), testcase.get("name"))
+    print fail_or_error.text
+    print "-" * 50
+
+
 def print_error_reports_from_report_file(file_path):
     tree = ElementTree()
     tree.parse(file_path)
@@ -26,10 +33,11 @@ def print_error_reports_from_report_file(file_path):
     for testcase in testcases:
         error = testcase.find("error")
         if error is not None:
-            print "-" * 50
-            print "classname: %s / testname: %s" % (testcase.get("classname"), testcase.get("name"))
-            print error.text
-            print "-" * 50
+            print_detail_information(testcase, error)
+
+        fail = testcase.find("fail")
+        if fail is not None:
+            print_detail_information(testcase, fail)
 
 
 def main(report_dir_path):

http://git-wip-us.apache.org/repos/asf/storm/blob/a315e1fe/dev-tools/travis/travis-build.sh
----------------------------------------------------------------------
diff --git a/dev-tools/travis/travis-build.sh b/dev-tools/travis/travis-build.sh
index f7830e3..a06151c 100755
--- a/dev-tools/travis/travis-build.sh
+++ b/dev-tools/travis/travis-build.sh
@@ -11,6 +11,16 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
+PYTHON_VERSION_TO_FILE=`python -V > /tmp/python_version 2>&1`
+PYTHON_VERSION=`cat /tmp/python_version`
+RUBY_VERSION=`ruby -v`
+NODEJS_VERSION=`node -v`
+
+echo "Python version : $PYTHON_VERSION"
+echo "Ruby version : $RUBY_VERSION"
+echo "NodeJs version : $NODEJS_VERSION"
+
+
 STORM_SRC_ROOT_DIR=$1
 
 TRAVIS_SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
@@ -23,7 +33,7 @@ export LOG_LEVEL=WARN
 export STORM_TEST_TIMEOUT_MS=100000
 
 # We now lean on Travis CI's implicit behavior, ```mvn clean install -DskipTests``` before running script
-mvn test
+mvn test -fae
 
 BUILD_RET_VAL=$?
 
@@ -31,6 +41,10 @@ if [ ${BUILD_RET_VAL} -ne 0 ]
 then
     echo "There may be clojure test errors from storm-core, printing error reports..."
     python ${TRAVIS_SCRIPT_DIR}/print-errors-from-clojure-test-reports.py ${STORM_SRC_ROOT_DIR}/storm-core/target/test-reports
+else
+    echo "Double checking clojure test-report, Errors or Failures:"
+    egrep -il '<fail|<error' */target/test-reports/*.xml | xargs -I '{}' bash -c "echo -n '{}':' '; egrep -ic '<fail|<error' '{}'"
+    egrep -iq '<fail|<error' */target/test-reports/*.xml
 fi
 
-exit ${BUILD_RET_VAL}
+exit ${BUILD_RET_VAL}
\ No newline at end of file