mirror of
https://github.com/apache/impala.git
synced 2025-12-19 09:58:28 -05:00
We launch a background process checking whether tests are timeout in run-all-tests.sh. When NUM_TEST_ITERATIONS is set to larger than 1, run-all-tests.sh will repeat the tests. However, the timeout process is killed at the end of each iteration, which fails the script when we want to repeat tests. This patch moves the killing logic outside the loop. This patch also adds a new variable, CLUSTER_TEST_FILES, to specify a particular custom-cluster test to run. To speedup the test iteration, this patch avoids always restarting the Impala cluster. E.g. when we just need to run a particular EE test, we only need to start the Impala cluster once. Tested with NUM_TEST_ITERATIONS=10 and verified with following scenarios. 1) custom-cluster test only export BE_TEST, FE_TEST, JDBC_TEST, EE_TEST to false export CLUSTER_TEST=true and CLUSTER_TEST_FILES to following values: custom_cluster/test_local_catalog.py custom_cluster/test_local_catalog.py::TestLocalCatalogRetries custom_cluster/test_local_catalog.py::TestLocalCatalogRetries::test_replan_limit "custom_cluster/test_local_catalog.py -k replan_limit" 2) e2e test only export BE_TEST, FE_TEST, JDBC_TEST, CLUSTER_TEST to false export EE_TEST=true and EE_TEST_FILES=query_test/test_scanners.py::TestParquet::test_multiple_blocks_mt_dop Change-Id: I2bdd8a9c68ffb0dd1c3ea72c3649b00abcc05a49 Reviewed-on: http://gerrit.cloudera.org:8080/18328 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
55 lines
1.9 KiB
Bash
Executable File
55 lines
1.9 KiB
Bash
Executable File
#!/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.
|
|
#
|
|
# Runs the custom-cluster tests. Must be run after the query tests because any existing
|
|
# clusters will be restarted.
|
|
|
|
set -euo pipefail
|
|
. $IMPALA_HOME/bin/report_build_error.sh
|
|
setup_report_build_error
|
|
|
|
# Disable HEAPCHECK for the process failure tests because they can cause false positives.
|
|
# TODO: Combine with run-process-failure-tests.sh
|
|
export HEAPCHECK=
|
|
|
|
export LOG_DIR="${IMPALA_CUSTOM_CLUSTER_TEST_LOGS_DIR}"
|
|
RESULTS_DIR="${IMPALA_CUSTOM_CLUSTER_TEST_LOGS_DIR}/results"
|
|
mkdir -p "${RESULTS_DIR}"
|
|
|
|
# KERBEROS TODO We'll want to pass kerberos status in here.
|
|
cd "${IMPALA_HOME}/tests"
|
|
. "${IMPALA_HOME}/bin/set-classpath.sh" &> /dev/null
|
|
|
|
: ${CLUSTER_TEST_FILES:=}
|
|
if [[ "$CLUSTER_TEST_FILES" != "" ]]; then
|
|
ARGS=($CLUSTER_TEST_FILES)
|
|
else
|
|
ARGS=(custom_cluster/ authorization/)
|
|
fi
|
|
AUX_CUSTOM_DIR="${IMPALA_AUX_TEST_HOME}/tests/aux_custom_cluster_tests/"
|
|
if [[ -d "${AUX_CUSTOM_DIR}" ]]
|
|
then
|
|
ARGS+=("${AUX_CUSTOM_DIR}")
|
|
fi
|
|
ARGS+=("--junitxml=${RESULTS_DIR}/TEST-impala-custom-cluster.xml")
|
|
ARGS+=("--resultlog=${RESULTS_DIR}/TEST-impala-custom-cluster.log")
|
|
ARGS+=("$@")
|
|
|
|
impala-py.test "${ARGS[@]}"
|