| #!/usr/bin/env bash |
| ################################################################################ |
| # 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. |
| ################################################################################ |
| |
| # This can be used to run a single test in the context of a test runnner |
| # Usage: ./run-single-test.sh [skip] test-scripts/my-test-case.sh |
| |
| # IMPORTANT: |
| # With the "skip" flag one can disable default exceptions and errors checking in log files. This should be done carefully though. |
| # A valid reasons for doing so could be e.g killing TMs randomly as we cannot predict what exception could be thrown. Whenever |
| # those checks are disabled, one should take care that a proper checks are performed in the tests itself that ensure that the test finished |
| # in an expected state. |
| |
| if [ $# -eq 0 ]; then |
| echo "Usage: ./run-single-test.sh [skip] <path-to-test-script> [<arg1> <arg2> ...]" |
| exit 1 |
| fi |
| |
| END_TO_END_DIR="`dirname \"$0\"`" # relative |
| END_TO_END_DIR="`( cd \"$END_TO_END_DIR\" && pwd -P)`" # absolutized and normalized |
| if [ -z "$END_TO_END_DIR" ] ; then |
| # error; for some reason, the path is not accessible |
| # to the script (e.g. permissions re-evaled after suid) |
| exit 1 # fail |
| fi |
| |
| export END_TO_END_DIR |
| |
| if [ -z "$FLINK_DIR" ] ; then |
| echo "You have to export the Flink distribution directory as FLINK_DIR" |
| exit 1 |
| fi |
| |
| if [ -z "$FLINK_LOG_DIR" ] ; then |
| export FLINK_LOG_DIR="$FLINK_DIR/log" |
| fi |
| |
| source "${END_TO_END_DIR}/../tools/ci/maven-utils.sh" |
| source "${END_TO_END_DIR}/test-scripts/test-runner-common.sh" |
| |
| cleanup_tmp_files |
| |
| FLINK_DIR="`( cd \"$FLINK_DIR\" && pwd -P )`" # absolutized and normalized |
| |
| echo "flink-end-to-end-test directory: $END_TO_END_DIR" |
| echo "Flink distribution directory: $FLINK_DIR" |
| |
| if [[ "$1" = "skip" ]]; then |
| run_test "${*:2}" "${*:2}" "skip_check_exceptions" |
| else |
| run_test "$*" "$*" |
| fi |
| |
| exit 0 |