| #!/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. |
| |
| echo "Python version : " `python -V 2>&1` |
| echo "Ruby version : " `ruby -v` |
| echo "NodeJs version : " `node -v` |
| echo "Maven version : " `mvn -v` |
| |
| set -x |
| |
| STORM_SRC_ROOT_DIR=$1 |
| |
| TRAVIS_SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) |
| |
| cd ${STORM_SRC_ROOT_DIR} |
| |
| if [ "$2" == "Integration-Test" ] |
| then |
| exec ./integration-test/run-it.sh |
| elif [ "$2" == "Check-Updated-License-Files" ] |
| then |
| exec python3.6 dev-tools/validate-license-files.py --skip-build-storm |
| elif [ "$2" == "Client" ] |
| then |
| TEST_MODULES=storm-client |
| elif [ "$2" == "Server" ] |
| then |
| TEST_MODULES=storm-server,storm-webapp |
| elif [ "$2" == "Core" ] |
| then |
| TEST_MODULES=storm-core |
| elif [ "$2" == "External" ] |
| then |
| if [ "$TRAVIS_JDK_VERSION" == "openjdk11" ] |
| then |
| TEST_MODULES='!storm-client,!storm-server,!storm-core,!storm-webapp,!storm-shaded-deps,!external/storm-cassandra,!external/storm-hive,!external/storm-hdfs,!external/storm-hbase,!sql/storm-sql-external/storm-sql-hdfs,!external/storm-hdfs-blobstore' |
| else |
| TEST_MODULES='!storm-client,!storm-server,!storm-core,!storm-webapp,!storm-shaded-deps' |
| fi |
| fi |
| # We should be concerned that Travis CI could be very slow because it uses VM |
| export STORM_TEST_TIMEOUT_MS=150000 |
| # Travis only has 3GB of memory, lets use 1GB for build, and 1.5GB for forked JVMs |
| export MAVEN_OPTS="-Xmx1024m" |
| |
| mvn --batch-mode test -fae -Pnative,all-tests,examples,externals -Prat -pl "$TEST_MODULES" |
| BUILD_RET_VAL=$? |
| |
| for dir in `find . -type d -and -wholename \*/target/\*-reports`; |
| do |
| echo "Looking for errors in ${dir}" |
| python ${TRAVIS_SCRIPT_DIR}/print-errors-from-test-reports.py "${dir}" |
| done |
| |
| exit ${BUILD_RET_VAL} |