730bc746f9
This commit contains the following JIRA issues: HADOOP-12931. bin/hadoop work for dynamic subcommands HADOOP-12932. bin/yarn work for dynamic subcommands HADOOP-12933. bin/hdfs work for dynamic subcommands HADOOP-12934. bin/mapred work for dynamic subcommands HADOOP-12935. API documentation for dynamic subcommands HADOOP-12936. modify hadoop-tools to take advantage of dynamic subcommands HADOOP-13086. enable daemonization of dynamic commands HADOOP-13087. env var doc update for dynamic commands HADOOP-13088. fix shellprofiles in hadoop-tools to allow replacement HADOOP-13089. hadoop distcp adds client opts twice when dynamic HADOOP-13094. hadoop-common unit tests for dynamic commands HADOOP-13095. hadoop-hdfs unit tests for dynamic commands HADOOP-13107. clean up how rumen is executed HADOOP-13108. dynamic subcommands need a way to manipulate arguments HADOOP-13110. add a streaming subcommand to mapred HADOOP-13111. convert hadoop gridmix to be dynamic HADOOP-13115. dynamic subcommand docs should talk about exit vs. continue program flow HADOOP-13117. clarify daemonization and security vars for dynamic commands HADOOP-13120. add a --debug message when dynamic commands have been used HADOOP-13121. rename sub-project shellprofiles to match the rest of Hadoop HADOOP-13129. fix typo in dynamic subcommand docs HADOOP-13151. Underscores should be escaped in dynamic subcommands document HADOOP-13153. fix typo in debug statement for dynamic subcommands
79 lines
2.1 KiB
Bash
Executable File
79 lines
2.1 KiB
Bash
Executable File
# 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
|
|
|
|
# the loading of shell profiles are tested elseswhere
|
|
# this only tests the specific subcommand parts
|
|
|
|
subcommandsetup () {
|
|
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"
|
|
cat <<-'TOKEN' >> "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh"
|
|
|
|
hdfs_subcommand_sub () {
|
|
echo "unittest"
|
|
exit 0
|
|
}
|
|
|
|
hdfs_subcommand_cacheadmin ()
|
|
{
|
|
echo cacheadmin
|
|
exit 0
|
|
}
|
|
|
|
hdfs_subcommand_envcheck ()
|
|
{
|
|
echo ${HADOOP_SHELL_EXECNAME}
|
|
exit 0
|
|
}
|
|
|
|
hdfs_subcommand_multi ()
|
|
{
|
|
echo $2
|
|
exit 0
|
|
}
|
|
TOKEN
|
|
chmod a+rx "${HADOOP_LIBEXEC_DIR}/hdfs-config.sh"
|
|
}
|
|
|
|
@test "hdfs_subcommand (addition)" {
|
|
subcommandsetup
|
|
run "${BATS_TEST_DIRNAME}/../../main/bin/hdfs" sub
|
|
echo ">${output}<"
|
|
[ "${output}" = unittest ]
|
|
}
|
|
|
|
@test "hdfs_subcommand (substitute)" {
|
|
subcommandsetup
|
|
run "${BATS_TEST_DIRNAME}/../../main/bin/hdfs" cacheadmin
|
|
echo ">${output}<"
|
|
[ "${output}" = cacheadmin ]
|
|
}
|
|
|
|
@test "hdfs_subcommand (envcheck)" {
|
|
subcommandsetup
|
|
run "${BATS_TEST_DIRNAME}/../../main/bin/hdfs" envcheck
|
|
[ "${output}" = hdfs ]
|
|
}
|
|
|
|
@test "hdfs_subcommand (multiparams)" {
|
|
subcommandsetup
|
|
run "${BATS_TEST_DIRNAME}/../../main/bin/hdfs" multi 1 2
|
|
[ "${output}" = 2 ]
|
|
}
|