|  | #!/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 |