HADOOP-13094. hadoop-common unit tests for dynamic commands
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a48954b7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a48954b7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a48954b7 Branch: refs/heads/HADOOP-12930 Commit: a48954b7473a407397e4c1a7edb8e55bb0b58429 Parents: b3a7b75 Author: Allen Wittenauer <a...@apache.org> Authored: Wed May 4 17:41:23 2016 -0700 Committer: Allen Wittenauer <a...@apache.org> Committed: Wed May 4 20:43:21 2016 -0700 ---------------------------------------------------------------------- .../scripts/hadoop-functions_test_helper.bash | 4 +- .../src/test/scripts/hadoop_subcommands.bats | 66 ++++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a48954b7/hadoop-common-project/hadoop-common/src/test/scripts/hadoop-functions_test_helper.bash ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/scripts/hadoop-functions_test_helper.bash b/hadoop-common-project/hadoop-common/src/test/scripts/hadoop-functions_test_helper.bash index be2d7f5..cc37268 100755 --- a/hadoop-common-project/hadoop-common/src/test/scripts/hadoop-functions_test_helper.bash +++ b/hadoop-common-project/hadoop-common/src/test/scripts/hadoop-functions_test_helper.bash @@ -16,7 +16,7 @@ setup() { - TMP=../../../target/test-dir/bats.$$.${RANDOM} + TMP="${BATS_TEST_DIRNAME}/../../../target/test-dir/bats.$$.${RANDOM}" mkdir -p ${TMP} TMP=$(cd -P -- "${TMP}" >/dev/null && pwd -P) export TMP @@ -38,7 +38,7 @@ setup() { # shellcheck disable=SC2034 QATESTMODE=true - . ../../main/bin/hadoop-functions.sh + . "${BATS_TEST_DIRNAME}/../../main/bin/hadoop-functions.sh" pushd "${TMP}" >/dev/null } http://git-wip-us.apache.org/repos/asf/hadoop/blob/a48954b7/hadoop-common-project/hadoop-common/src/test/scripts/hadoop_subcommands.bats ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/scripts/hadoop_subcommands.bats b/hadoop-common-project/hadoop-common/src/test/scripts/hadoop_subcommands.bats new file mode 100755 index 0000000..eda2e3d --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/test/scripts/hadoop_subcommands.bats @@ -0,0 +1,66 @@ +# 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 + +# 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}/shellprofile.d" "${HADOOP_CONF_DIR}/shellprofile.d" + cat <<-'TOKEN' > "${HADOOP_LIBEXEC_DIR}/hadoop-config.sh" + +hadoop_subcommand_sub () { + echo "unittest" + exit 0 +} + +hadoop_subcommand_conftest () +{ + echo conftest + exit 0 +} + +hadoop_subcommand_envcheck () +{ + echo ${HADOOP_SHELL_EXECNAME} + exit 0 +} +TOKEN + chmod a+rx "${HADOOP_LIBEXEC_DIR}/hadoop-config.sh" + +} + +@test "hadoop_subcommand (addition)" { + subcommandsetup + run "${BATS_TEST_DIRNAME}/../../main/bin/hadoop" sub + echo ">${output}<" + [ "${output}" = unittest ] +} + +@test "hadoop_subcommand (substitute)" { + subcommandsetup + run "${BATS_TEST_DIRNAME}/../../main/bin/hadoop" conftest + echo ">${output}<" + [ "${output}" = conftest ] +} + +@test "hadoop_subcommand (envcheck)" { + subcommandsetup + run "${BATS_TEST_DIRNAME}/../../main/bin/hadoop" envcheck + [ "${output}" = hadoop ] +} --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org