HADOOP-14976. Set HADOOP_SHELL_EXECNAME explicitly in scripts.
This commit is contained in:
parent
5533648241
commit
e00c7f78c1
@ -15,8 +15,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# The name of the script being executed.
|
||||
HADOOP_SHELL_EXECNAME="hadoop"
|
||||
MYNAME="${BASH_SOURCE-$0}"
|
||||
HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
|
||||
|
||||
## @description build up the hadoop command's usage text.
|
||||
## @audience public
|
||||
@ -124,6 +125,10 @@ function hadoopcmd_case
|
||||
echo "HADOOP_TOOLS_HOME='${HADOOP_TOOLS_HOME}'"
|
||||
echo "HADOOP_TOOLS_DIR='${HADOOP_TOOLS_DIR}'"
|
||||
echo "HADOOP_TOOLS_LIB_JARS_DIR='${HADOOP_TOOLS_LIB_JARS_DIR}'"
|
||||
if [[ -n "${QATESTMODE}" ]]; then
|
||||
echo "MYNAME=${MYNAME}"
|
||||
echo "HADOOP_SHELL_EXECNAME=${HADOOP_SHELL_EXECNAME}"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
fs)
|
||||
|
@ -0,0 +1,36 @@
|
||||
# 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.
|
||||
|
||||
load hadoop-functions_test_helper
|
||||
|
||||
# Setup minimal environment to invoke the 'hadoop' command.
|
||||
hadoopcommandsetup () {
|
||||
export HADOOP_LIBEXEC_DIR="${TMP}/libexec"
|
||||
export HADOOP_CONF_DIR="${TMP}/conf"
|
||||
mkdir -p "${HADOOP_LIBEXEC_DIR}"
|
||||
echo ". \"${BATS_TEST_DIRNAME}/../../main/bin/hadoop-functions.sh\"" > "${HADOOP_LIBEXEC_DIR}/hadoop-config.sh"
|
||||
chmod a+rx "${HADOOP_LIBEXEC_DIR}/hadoop-config.sh"
|
||||
}
|
||||
|
||||
# Verify that the 'hadoop' command correctly infers MYNAME and
|
||||
# HADOOP_SHELL_EXECNAME
|
||||
@test "hadoop_shell_execname" {
|
||||
hadoopcommandsetup
|
||||
export QATESTMODE=unittest
|
||||
run "${BATS_TEST_DIRNAME}/../../main/bin/hadoop" envvars
|
||||
echo ">${output}<"
|
||||
[[ ${output} =~ MYNAME=.*/hadoop ]]
|
||||
[[ ${output} =~ HADOOP_SHELL_EXECNAME=hadoop ]]
|
||||
}
|
@ -15,8 +15,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# The name of the script being executed.
|
||||
HADOOP_SHELL_EXECNAME="hdfs"
|
||||
MYNAME="${BASH_SOURCE-$0}"
|
||||
HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
|
||||
|
||||
## @description build up the hdfs command's usage text.
|
||||
## @audience public
|
||||
@ -126,6 +127,10 @@ function hdfscmd_case
|
||||
echo "HADOOP_TOOLS_HOME='${HADOOP_TOOLS_HOME}'"
|
||||
echo "HADOOP_TOOLS_DIR='${HADOOP_TOOLS_DIR}'"
|
||||
echo "HADOOP_TOOLS_LIB_JARS_DIR='${HADOOP_TOOLS_LIB_JARS_DIR}'"
|
||||
if [[ -n "${QATESTMODE}" ]]; then
|
||||
echo "MYNAME=${MYNAME}"
|
||||
echo "HADOOP_SHELL_EXECNAME=${HADOOP_SHELL_EXECNAME}"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
ec)
|
||||
@ -269,4 +274,4 @@ fi
|
||||
hadoop_subcommand_opts "${HADOOP_SHELL_EXECNAME}" "${HADOOP_SUBCMD}"
|
||||
|
||||
# everything is in globals at this point, so call the generic handler
|
||||
hadoop_generic_java_subcmd_handler
|
||||
hadoop_generic_java_subcmd_handler
|
||||
|
@ -0,0 +1,36 @@
|
||||
# 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.
|
||||
|
||||
load hdfs-functions_test_helper
|
||||
|
||||
# Setup minimal environment to invoke the 'hdfs' command.
|
||||
hdfscommandsetup () {
|
||||
export HADOOP_LIBEXEC_DIR="${TMP}/libexec"
|
||||
export HADOOP_CONF_DIR="${TMP}/conf"
|
||||
mkdir -p "${HADOOP_LIBEXEC_DIR}"
|
||||
echo ". \"${BATS_TEST_DIRNAME}/../../../../../hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh\"" > "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh"
|
||||
chmod a+rx "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh"
|
||||
}
|
||||
|
||||
# Verify that the 'hdfs' command correctly infers MYNAME and
|
||||
# HADOOP_SHELL_EXECNAME
|
||||
@test "hadoop_shell_execname" {
|
||||
hdfscommandsetup
|
||||
export QATESTMODE=unittest
|
||||
run "${BATS_TEST_DIRNAME}/../../main/bin/hdfs" envvars
|
||||
echo ">${output}<"
|
||||
[[ ${output} =~ MYNAME=.*/hdfs ]]
|
||||
[[ ${output} =~ HADOOP_SHELL_EXECNAME=hdfs ]]
|
||||
}
|
@ -15,8 +15,10 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# The name of the script being executed.
|
||||
HADOOP_SHELL_EXECNAME="mapred"
|
||||
MYNAME="${BASH_SOURCE-$0}"
|
||||
HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
|
||||
|
||||
|
||||
## @description build up the mapred command's usage text.
|
||||
## @audience public
|
||||
|
@ -15,8 +15,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# The name of the script being executed.
|
||||
HADOOP_SHELL_EXECNAME="yarn"
|
||||
MYNAME="${BASH_SOURCE-$0}"
|
||||
HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
|
||||
|
||||
## @description build up the yarn command's usage text.
|
||||
## @audience public
|
||||
|
Loading…
Reference in New Issue
Block a user