yetus-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a.@apache.org
Subject [yetus] branch master updated: Revert "YETUS-688. convert key globals from strings to arrays"
Date Fri, 08 Feb 2019 17:38:26 GMT
This is an automated email from the ASF dual-hosted git repository.

aw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yetus.git


The following commit(s) were added to refs/heads/master by this push:
     new 9a2b130  Revert "YETUS-688. convert key globals from strings to arrays"
9a2b130 is described below

commit 9a2b1302fcc0b9a9d432e8ec95c2921e74344eab
Author: Allen Wittenauer <aw@apache.org>
AuthorDate: Fri Feb 8 09:38:07 2019 -0800

    Revert "YETUS-688. convert key globals from strings to arrays"
    
    This reverts commit fd125e61e6c158a86269f49b2d528cc82021d2f2.
---
 precommit/pom.xml                                  |  23 -----
 precommit/src/main/shell/core.d/00-yetuslib.sh     |  52 +---------
 precommit/src/main/shell/core.d/01-common.sh       |  50 +++++-----
 precommit/src/main/shell/core.d/docker.sh          |   2 +-
 precommit/src/main/shell/core.d/patchfiles.sh      |   2 +-
 precommit/src/main/shell/core.d/reaper.sh          |   2 +-
 precommit/src/main/shell/docker-cleanup.sh         |  11 +--
 precommit/src/main/shell/robots.d/circleci.sh      |   2 +-
 precommit/src/main/shell/robots.d/gitlabci.sh      |   8 +-
 precommit/src/main/shell/robots.d/jenkins.sh       |   2 +-
 precommit/src/main/shell/robots.d/travisci.sh      |   2 +-
 precommit/src/main/shell/smart-apply-patch.sh      |  21 ++--
 precommit/src/main/shell/test-patch.d/java.sh      |  20 ++--
 precommit/src/main/shell/test-patch.d/maven.sh     |   6 +-
 precommit/src/main/shell/test-patch.sh             | 106 +++++++++++----------
 .../src/test/shell/functions_test_helper.bash      |  50 ----------
 precommit/src/test/shell/run-bats.sh               |  43 ---------
 .../src/test/shell/yetus_add_array_element.bats    |  36 -------
 precommit/src/test/shell/yetus_array_contains.bats |  47 ---------
 .../src/test/shell/yetus_del_array_element.bats    |  59 ------------
 20 files changed, 115 insertions(+), 429 deletions(-)

diff --git a/precommit/pom.xml b/precommit/pom.xml
index 1b41946..cea68a2 100644
--- a/precommit/pom.xml
+++ b/precommit/pom.xml
@@ -37,33 +37,10 @@
   <build>
     <plugins>
 
-
-          <plugin>
-            <artifactId>maven-antrun-plugin</artifactId>
-            <executions>
-
-            </executions>
-          </plugin>
-
-
       <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
           <execution>
-            <id>test-bats-driver</id>
-            <phase>test</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <target>
-                <exec dir="src/test/shell" executable="bash" failonerror="true">
-                      <arg value="./run-bats.sh" />
-                </exec>
-              </target>
-            </configuration>
-          </execution>
-          <execution>
             <id>mkdir-bin</id>
             <phase>initialize</phase>
             <goals>
diff --git a/precommit/src/main/shell/core.d/00-yetuslib.sh b/precommit/src/main/shell/core.d/00-yetuslib.sh
index 3d86974..7f21bb3 100755
--- a/precommit/src/main/shell/core.d/00-yetuslib.sh
+++ b/precommit/src/main/shell/core.d/00-yetuslib.sh
@@ -305,7 +305,7 @@ function yetus_file_to_array
 }
 
 ## @description  Check if an array has a given value
-## @audience     private
+## @audience     public
 ## @stability    stable
 ## @replaceable  yes
 ## @param        element
@@ -330,26 +330,6 @@ function yetus_array_contains
   return 1
 }
 
-## @description  Check if an arrayname has a given value
-## @audience     public
-## @stability    stable
-## @replaceable  yes
-## @param        arrayname
-## @param        element
-## @returns      0 = yes
-## @returns      1 = no
-function yetus_ver_array_element
-{
-  declare arrname=$1
-  declare element=$2
-
-  declare arrref="${arrname}[@]"
-  declare array=("${!arrref}")
-
-  # shellcheck disable=SC2046
-  return $(yetus_array_contains "${element}" "${array[@]}")
-}
-
 ## @description  Add the element if it is not
 ## @description  present in the given array
 ## @audience     public
@@ -374,36 +354,6 @@ function yetus_add_array_element
   fi
 }
 
-## @description  Check if an array has a given value
-## @audience     public
-## @stability    stable
-## @replaceable  yes
-## @param        arrayname
-## @param        element
-function yetus_del_array_element
-{
-  if [[ "$#" -eq 0 ]]; then
-    return 1
-  fi
-
-  declare arrname=$1
-  declare element=$2
-  shift
-  declare val
-
-  declare arrref="${arrname}[@]"
-  declare array=("${!arrref}")
-  declare -a newarr
-
-  for val in "${array[@]}"; do
-    if [[ "${val}" != "${element}" ]]; then
-      newarr+=("${val}")
-    fi
-  done
-    # shellcheck disable=SC1083,SC2086
-  eval "${arrname}"=\(\"\${newarr[@]}\"\)
-}
-
 ## @description  Sort an array by its elements
 ## @audience     public
 ## @stability    stable
diff --git a/precommit/src/main/shell/core.d/01-common.sh b/precommit/src/main/shell/core.d/01-common.sh
index 91d1cdc..0692a9c 100755
--- a/precommit/src/main/shell/core.d/01-common.sh
+++ b/precommit/src/main/shell/core.d/01-common.sh
@@ -24,11 +24,11 @@ function common_defaults
 {
   #shellcheck disable=SC2034
   BASEDIR=$(pwd)
-  BUGSYSTEMS=()
+  BUGSYSTEMS=""
   BUILDTOOL=""
-  BUILDTOOLS=()
+  BUILDTOOLS=""
   #shellcheck disable=SC2034
-  EXEC_MODES=()
+  EXEC_MODES=""
   ROBOTTYPE=""
   LOAD_SYSTEM_PLUGINS=true
   #shellcheck disable=SC2034
@@ -59,8 +59,8 @@ function common_defaults
   #shellcheck disable=SC2034
   SENTINEL=false
   #shellcheck disable=SC2034
-  TESTTYPES=()
-  TESTFORMATS=()
+  TESTTYPES=""
+  TESTFORMATS=""
   USER_PLUGIN_DIR=""
 
   #shellcheck disable=SC2034
@@ -249,8 +249,6 @@ function list_plugins
 {
   declare plugintype
   declare name
-  declare plugref
-  declare plugarray
 
   ENABLED_PLUGINS="all"
   importplugins
@@ -258,10 +256,8 @@ function list_plugins
   printf "Reminder: every plug-in may be enabled via 'all'.\\n\\n"
   for plugintype in BUILDTOOLS TESTTYPES BUGSYSTEMS TESTFORMATS; do
     printf '%s:\n\t' ${plugintype}
-    plugref="${plugintype}[@]"
-    plugarray=("${!plugref}")
-    for name in "${plugarray[@]}"; do
-      printf "%s " "${name}"
+    for name in ${!plugintype}; do
+      printf "%s " ${name}
     done
     echo ""
   done
@@ -275,8 +271,8 @@ function parse_args_plugins
 {
   declare plugin
 
-  for plugin in "${TESTTYPES[@]}" "${BUGSYSTEMS[@]}" "${TESTFORMATS[@]}" "${BUILDTOOLS[@]}";
do
-    if declare -f "${plugin}_parse_args" >/dev/null 2>&1; then
+  for plugin in ${TESTTYPES} ${BUGSYSTEMS} ${TESTFORMATS} ${BUILDTOOLS}; do
+    if declare -f ${plugin}_parse_args >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_parse_args"
       "${plugin}_parse_args" "$@"
       (( RESULT = RESULT + $? ))
@@ -292,8 +288,8 @@ function plugins_initialize
 {
   declare plugin
 
-  for plugin in "${TESTTYPES[@]}" "${BUGSYSTEMS[@]}" "${TESTFORMATS[@]}"; do
-    if declare -f "${plugin}_initialize" >/dev/null 2>&1; then
+  for plugin in ${TESTTYPES} ${BUGSYSTEMS} ${TESTFORMATS} ${BUILDTOOL}; do
+    if declare -f ${plugin}_initialize >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_initialize"
       "${plugin}_initialize"
       (( RESULT = RESULT + $? ))
@@ -368,7 +364,7 @@ function personality_plugins
 function add_test
 {
   if verify_plugin_enabled "${1}"; then
-    yetus_add_array_element NEEDED_TESTS "${1}"
+    yetus_add_entry NEEDED_TESTS "${1}"
   fi
 }
 
@@ -379,7 +375,7 @@ function add_test
 ## @param        test
 function delete_test
 {
-  yetus_del_array_element NEEDED_TESTS "${1}"
+  yetus_delete_entry NEEDED_TESTS "${1}"
 }
 
 ## @description  Verify if a given test was requested
@@ -391,7 +387,7 @@ function delete_test
 ## @return       1 = no
 function verify_needed_test
 {
-  yetus_ver_array_element NEEDED_TESTS "${1}"
+  yetus_verify_entry NEEDED_TESTS "${1}"
 }
 
 ## @description  Add the given test type
@@ -402,7 +398,7 @@ function verify_needed_test
 function add_test_type
 {
   if verify_plugin_enabled "${1}"; then
-    yetus_add_array_element TESTTYPES "${1}"
+    yetus_add_entry TESTTYPES "${1}"
   fi
 }
 
@@ -413,7 +409,7 @@ function add_test_type
 ## @param        plugin
 function delete_test_type
 {
-  yetus_del_array_element TESTTYPES "${1}"
+  yetus_delete_entry TESTTYPES "${1}"
 }
 
 ## @description  Add the given bugsystem type
@@ -424,7 +420,7 @@ function delete_test_type
 function add_bugsystem
 {
   if verify_plugin_enabled "${1}"; then
-    yetus_add_array_element BUGSYSTEMS "${1}"
+    yetus_add_entry BUGSYSTEMS "${1}"
   fi
 }
 
@@ -435,7 +431,7 @@ function add_bugsystem
 ## @param        bugsystem
 function delete_bugsystem
 {
-  yetus_del_array_element BUGSYSTEMS "${1}"
+  yetus_delete_entry BUGSYSTEMS "${1}"
 }
 
 ## @description  Add the given test format type
@@ -446,7 +442,7 @@ function delete_bugsystem
 function add_test_format
 {
   if verify_plugin_enabled "${1}"; then
-    yetus_add_array_element TESTFORMATS "${1}"
+    yetus_add_entry TESTFORMATS "${1}"
   fi
 }
 
@@ -457,7 +453,7 @@ function add_test_format
 ## @param        test format
 function delete_test_format
 {
-  yetus_del_array_element TESTFORMATS "${1}"
+  yetus_delete_entry TESTFORMATS "${1}"
 }
 
 ## @description  Add the given build tool type
@@ -468,7 +464,7 @@ function delete_test_format
 function add_build_tool
 {
   if verify_plugin_enabled "${1}"; then
-    yetus_add_array_element BUILDTOOLS "${1}"
+    yetus_add_entry BUILDTOOLS "${1}"
   fi
 }
 
@@ -479,7 +475,7 @@ function add_build_tool
 ## @param        build tool
 function delete_build_tool
 {
-  yetus_del_array_element BUILDTOOLS "${1}"
+  yetus_delete_entry BUILDTOOLS "${1}"
 }
 
 ## @description  Import content from test-patch.d and optionally
@@ -701,7 +697,7 @@ function guess_build_tool
   declare plugin
   declare filename
 
-  for plugin in "${BUILDTOOLS[@]}"; do
+  for plugin in ${BUILDTOOLS}; do
     if [[ "${plugin}" != "nobuild" ]] && declare -f "${plugin}_buildfile" >/dev/null
2>&1; then
       filename=$("${plugin}_buildfile")
       if [[ -n "${filename}" ]] &&
diff --git a/precommit/src/main/shell/core.d/docker.sh b/precommit/src/main/shell/core.d/docker.sh
index d66acdb..ec931e2 100755
--- a/precommit/src/main/shell/core.d/docker.sh
+++ b/precommit/src/main/shell/core.d/docker.sh
@@ -848,7 +848,7 @@ function docker_handler
   # need to call this explicitly
   console_docker_support
 
-  for plugin in ${PROJECT_NAME} ${BUILDTOOL} "${BUGSYSTEMS[@]}" "${TESTTYPES[@]}" "${TESTFORMATS[@]}";
do
+  for plugin in ${PROJECT_NAME} ${BUILDTOOL} ${BUGSYSTEMS} ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_docker_support" >/dev/null; then
       "${plugin}_docker_support"
     fi
diff --git a/precommit/src/main/shell/core.d/patchfiles.sh b/precommit/src/main/shell/core.d/patchfiles.sh
index e038381..e0db5fc 100755
--- a/precommit/src/main/shell/core.d/patchfiles.sh
+++ b/precommit/src/main/shell/core.d/patchfiles.sh
@@ -133,7 +133,7 @@ function locate_patch
     fi
   else
     # run through the bug systems.  maybe they know?
-    for bugsys in "${BUGSYSTEMS[@]}"; do
+    for bugsys in ${BUGSYSTEMS}; do
       if declare -f "${bugsys}_locate_patch" >/dev/null 2>&1; then
         if "${bugsys}_locate_patch" "${PATCH_OR_ISSUE}" "${PATCH_DIR}/patch"; then
           gotit=true
diff --git a/precommit/src/main/shell/core.d/reaper.sh b/precommit/src/main/shell/core.d/reaper.sh
index 5ba03e7..8859274 100755
--- a/precommit/src/main/shell/core.d/reaper.sh
+++ b/precommit/src/main/shell/core.d/reaper.sh
@@ -78,7 +78,7 @@ function reaper_parse_args
   # as necessary
   if [[ "${REAPER_MODE}" = "report" || "${REAPER_MODE}" = "kill" ]]; then
     add_test_format reaper
-    yetus_add_array_element EXEC_MODES Reaper
+    yetus_add_entry EXEC_MODES Reaper
   else
     REAPER_MODE="off"
   fi
diff --git a/precommit/src/main/shell/docker-cleanup.sh b/precommit/src/main/shell/docker-cleanup.sh
index 3173993..e6515e5 100755
--- a/precommit/src/main/shell/docker-cleanup.sh
+++ b/precommit/src/main/shell/docker-cleanup.sh
@@ -75,12 +75,9 @@ function import_and_clean
 {
   importplugins
   yetus_debug "Removing BUILDTOOLS, TESTTYPES, and TESTFORMATS from installed plug-in list"
-  #shellcheck disable=SC2034
-  BUILDTOOLS=()
-  #shellcheck disable=SC2034
-  TESTTYPES=()
-  #shellcheck disable=SC2034
-  TESTFORMATS=()
+  unset BUILDTOOLS
+  unset TESTTYPES
+  unset TESTFORMATS
 
   #shellcheck disable=SC2034
   DOCKER_CLEANUP_CMD=true
@@ -142,7 +139,7 @@ function parse_args
         ROBOT=true
         # shellcheck disable=SC2034
         SENTINEL=true
-        yetus_add_array_element EXEC_MODES Sentinel
+        yetus_add_entry EXEC_MODES Sentinel
       ;;
     esac
   done
diff --git a/precommit/src/main/shell/robots.d/circleci.sh b/precommit/src/main/shell/robots.d/circleci.sh
index 4095866..bc05dd6 100755
--- a/precommit/src/main/shell/robots.d/circleci.sh
+++ b/precommit/src/main/shell/robots.d/circleci.sh
@@ -57,7 +57,7 @@ if [[ "${CIRCLECI}" = true ]] &&
       CIRCLE_PROJECT_REPONAME \
       CIRCLE_REPOSITORY_URL
 
-    yetus_add_array_element EXEC_MODES Circle_CI
+    yetus_add_entry EXEC_MODES Circle_CI
   fi
 fi
 
diff --git a/precommit/src/main/shell/robots.d/gitlabci.sh b/precommit/src/main/shell/robots.d/gitlabci.sh
index 17f96d1..9e99b84 100755
--- a/precommit/src/main/shell/robots.d/gitlabci.sh
+++ b/precommit/src/main/shell/robots.d/gitlabci.sh
@@ -40,10 +40,10 @@ if [[ "${GITLAB_CI}" = true ]] &&
     CI_PROJECT_PATH \
     GITLAB_CI
 
-  yetus_add_array_element EXEC_MODES Gitlab_CI
-  yetus_add_array_element EXEC_MODES ResetRepo
-  yetus_add_array_element EXEC_MODES Robot
-  yetus_add_array_element EXEC_MODES UnitTests
+  yetus_add_entry EXEC_MODES Gitlab_CI
+  yetus_add_entry EXEC_MODES ResetRepo
+  yetus_add_entry EXEC_MODES Robot
+  yetus_add_entry EXEC_MODES UnitTests
 fi
 
 function gitlabci_set_plugin_defaults
diff --git a/precommit/src/main/shell/robots.d/jenkins.sh b/precommit/src/main/shell/robots.d/jenkins.sh
index 6850317..52f8ab1 100755
--- a/precommit/src/main/shell/robots.d/jenkins.sh
+++ b/precommit/src/main/shell/robots.d/jenkins.sh
@@ -102,7 +102,7 @@ if [[ -n "${JENKINS_URL}" && -n "${EXECUTOR_NUMBER}" ]] &&
     GIT_URL \
     JENKINS_URL
 
-  yetus_add_array_element EXEC_MODES Jenkins
+  yetus_add_entry EXEC_MODES Jenkins
 fi
 
 function jenkins_set_plugin_defaults
diff --git a/precommit/src/main/shell/robots.d/travisci.sh b/precommit/src/main/shell/robots.d/travisci.sh
index 937b6ec..7c066e3 100755
--- a/precommit/src/main/shell/robots.d/travisci.sh
+++ b/precommit/src/main/shell/robots.d/travisci.sh
@@ -66,7 +66,7 @@ if [[ "${TRAVIS}" == true ]] &&
     pushd "${BASEDIR}" >/dev/null || exit 1
   fi
 
-  yetus_add_array_element EXEC_MODES TravisCI
+  yetus_add_entry EXEC_MODES TravisCI
 fi
 
 function travisci_set_plugin_defaults
diff --git a/precommit/src/main/shell/smart-apply-patch.sh b/precommit/src/main/shell/smart-apply-patch.sh
index 8997ae4..0a5a742 100755
--- a/precommit/src/main/shell/smart-apply-patch.sh
+++ b/precommit/src/main/shell/smart-apply-patch.sh
@@ -158,14 +158,11 @@ function yetus_usage
   echo ""
   importplugins
 
-  #shellcheck disable=SC2034
-  BUILDTOOLS=()
-  #shellcheck disable=SC2034
-  TESTTYPES=()
-  #shellcheck disable=SC2034
-  TESTFORMATS=()
-
-  for plugin in "${BUGSYSTEMS[@]}"; do
+  unset TESTFORMATS
+  unset TESTTYPES
+  unset BUILDTOOLS
+
+  for plugin in ${BUGSYSTEMS}; do
     if declare -f "${plugin}_usage" >/dev/null 2>&1; then
       echo ""
       echo "${plugin} plugin usage options:"
@@ -389,11 +386,9 @@ setup_defaults
 parse_args "$@"
 
 importplugins
-yetus_debug "Removing TESTTYPES and TESTFORMATS from installed plug-in list"
-#shellcheck disable=SC2034
-TESTTYPES=()
-#shellcheck disable=SC2034
-TESTFORMATS=()
+yetus_debug "Removing BUILDTOOLS, TESTTYPES, and TESTFORMATS from installed plug-in list"
+unset TESTTYPES
+unset TESTFORMATS
 
 parse_args_plugins "$@"
 
diff --git a/precommit/src/main/shell/test-patch.d/java.sh b/precommit/src/main/shell/test-patch.d/java.sh
index 0738009..2482189 100755
--- a/precommit/src/main/shell/test-patch.d/java.sh
+++ b/precommit/src/main/shell/test-patch.d/java.sh
@@ -19,7 +19,7 @@
 add_test_type javac
 add_test_type javadoc
 
-yetus_add_array_element JDK_TEST_LIST javadoc
+yetus_add_entry JDK_TEST_LIST javadoc
 
 JAVA_INITIALIZED=false
 
@@ -69,18 +69,19 @@ function initialize_java
 
   JAVA_HOME=$(yetus_abs "${JAVA_HOME}")
 
-  for i in "${JDK_DIR_LIST[@]}"; do
+  for i in ${JDK_DIR_LIST}; do
     if [[ -d "${i}" ]]; then
       jdkdir=$(yetus_abs "${i}")
       if [[ ${jdkdir} != "${JAVA_HOME}" ]]; then
-        tmplist+=("${jdkdir}")
+        tmplist="${tmplist} ${jdkdir}"
       fi
     else
       yetus_error "WARNING: Cannot locate JDK directory ${i}: ignoring"
     fi
   done
 
-  JDK_DIR_LIST+=("${JAVA_HOME}")
+  JDK_DIR_LIST="${tmplist} ${JAVA_HOME}"
+  JDK_DIR_LIST=${JDK_DIR_LIST/ }
 }
 
 function javac_initialize
@@ -102,7 +103,7 @@ function javadoc_initialize
 function javac_precheck
 {
   declare javaversion
-  declare -a listofjdks
+  declare listofjdks
   declare i
 
   start_clock
@@ -116,12 +117,13 @@ function javac_precheck
   javaversion=$(report_jvm_version "${JAVA_HOME}")
   add_footer_table "Default Java" "${javaversion}"
 
-  if [[ "${#JDK_DIR_LIST[@]}" -gt 1 ]]; then
-    for i in "${JDK_DIR_LIST[@]}"; do
+  if [[ -n ${JDK_DIR_LIST}
+     && ${JDK_DIR_LIST} != "${JAVA_HOME}" ]]; then
+    for i in ${JDK_DIR_LIST}; do
       javaversion=$(report_jvm_version "${i}")
-      listofjdks+=("${i}:${javaversion}")
+      listofjdks="${listofjdks} ${i}:${javaversion}"
     done
-    add_footer_table "Multi-JDK versions" "${listofjdks[*]}"
+    add_footer_table "Multi-JDK versions" "${listofjdks}"
   fi
   return 0
 }
diff --git a/precommit/src/main/shell/test-patch.d/maven.sh b/precommit/src/main/shell/test-patch.d/maven.sh
index 09c7064..59f6a66 100755
--- a/precommit/src/main/shell/test-patch.d/maven.sh
+++ b/precommit/src/main/shell/test-patch.d/maven.sh
@@ -36,7 +36,7 @@ add_build_tool maven
 ## @param        test
 function maven_add_install
 {
-    yetus_add_array_element MAVEN_NEED_INSTALL "${1}"
+    yetus_add_entry MAVEN_NEED_INSTALL "${1}"
 }
 
 ## @description  Remove the given test type as requiring a mvn install
@@ -46,7 +46,7 @@ function maven_add_install
 ## @param        test
 function maven_delete_install
 {
-  yetus_del_array_element MAVEN_NEED_INSTALL "${1}"
+  yetus_delete_entry MAVEN_NEED_INSTALL "${1}"
 }
 
 ## @description  replace the custom repo with either home or workspace if jenkins.
@@ -609,7 +609,7 @@ function maven_precompile
   # not everything needs a maven install
   # but quite a few do ...
   # shellcheck disable=SC2086
-  for index in "${MAVEN_NEED_INSTALL[@]}"; do
+  for index in ${MAVEN_NEED_INSTALL}; do
     if verify_needed_test "${index}"; then
       need=true
     fi
diff --git a/precommit/src/main/shell/test-patch.sh b/precommit/src/main/shell/test-patch.sh
index 1847edc..b84fb57 100755
--- a/precommit/src/main/shell/test-patch.sh
+++ b/precommit/src/main/shell/test-patch.sh
@@ -99,8 +99,8 @@ function setup_defaults
   ISSUE=${ISSUE:-""}
   TIMER=$("${AWK}" 'BEGIN {srand(); print srand()}')
   JVM_REQUIRED=true
-  yetus_add_array_element JDK_TEST_LIST compile
-  yetus_add_array_element JDK_TEST_LIST unit
+  yetus_add_entry JDK_TEST_LIST compile
+  yetus_add_entry JDK_TEST_LIST unit
 }
 
 
@@ -280,13 +280,13 @@ function verify_multijdk_test
 {
   local i=$1
 
-  if [[ "${#JDK_DIR_LIST[@]}" -lt 2 ]] ; then
+  if [[ "${JDK_DIR_LIST}" == "${JAVA_HOME}" ]]; then
     yetus_debug "MultiJDK not configured."
     return 1
   fi
 
-  if yetus_ver_array_element JDK_TEST_LIST "${i}"; then
-    yetus_debug "${i} is in JDK_TEST_LIST and MultiJDK configured."
+  if [[ ${JDK_TEST_LIST} =~ $i ]]; then
+    yetus_debug "${i} is in ${JDK_TEST_LIST} and MultiJDK configured."
     return 0
   fi
   return 1
@@ -667,10 +667,12 @@ function yetus_usage
 
   importplugins
 
-  bugsys="${BUGSYSTEMS[*]}"
+  # shellcheck disable=SC2116,SC2086
+  bugsys=$(echo ${BUGSYSTEMS})
   bugsys=${bugsys// /,}
 
-  jdktlist="${JDK_TEST_LIST[*]}"
+  # shellcheck disable=SC2116,SC2086
+  jdktlist=$(echo ${JDK_TEST_LIST})
   jdktlist=${jdktlist// /,}
 
   if [[ "${BUILDMODE}" = patch ]]; then
@@ -690,8 +692,8 @@ function yetus_usage
   yetus_add_option "--branch-default=<ref>" "If the branch isn't forced and we don't
detect one in the patch name, use this branch (default 'master')"
   yetus_add_option "--build-native=<bool>" "If true, then build native components (default
'true')"
   # shellcheck disable=SC2153
-  yetus_add_option "--build-tool=<tool>" "Pick which build tool to focus around (one
of ${BUILDTOOLS[*]})"
-  yetus_add_option "--bugcomments=<bug>" "Only write comments to the screen and this
comma delimited list (default: '${bugsys}')"
+  yetus_add_option "--build-tool=<tool>" "Pick which build tool to focus around (one
of ${BUILDTOOLS})"
+  yetus_add_option "--bugcomments=<bug>" "Only write comments to the screen and this
comma delimited list (default: ${bugsys})"
   yetus_add_option "--contrib-guide=<url>" "URL to point new users towards project
conventions. (default: ${PATCH_NAMING_RULE} )"
   yetus_add_option "--debug" "If set, then output some extra stuff to stderr"
   yetus_add_option "--dirty-workspace" "Allow the local git workspace to have uncommitted
changes"
@@ -767,7 +769,7 @@ function yetus_usage
   yetus_generic_columnprinter "${YETUS_OPTION_USAGE[@]}"
   yetus_reset_usage
 
-  for plugin in "${BUILDTOOLS[@]}" "${TESTTYPES[@]}" "${BUGSYSTEMS[@]}" "${TESTFORMATS[@]}";
do
+  for plugin in ${BUILDTOOLS} ${TESTTYPES} ${BUGSYSTEMS} ${TESTFORMATS}; do
     if declare -f "${plugin}_usage" >/dev/null 2>&1; then
       echo ""
       echo "'${plugin}' plugin usage options:"
@@ -852,13 +854,15 @@ function parse_args
         yetus_debug "Manually forcing modules ${USER_MODULE_LIST[*]}"
       ;;
       --multijdkdirs=*)
-        yetus_comma_to_array JDK_DIR_LIST "${i#*=}"
-        yetus_debug "Multi-JDK mode activated with ${JDK_DIR_LIST[*]}"
-        yetus_add_array_element EXEC_MODES MultiJDK
+        JDK_DIR_LIST=${i#*=}
+        JDK_DIR_LIST=${JDK_DIR_LIST//,/ }
+        yetus_debug "Multi-JDK mode activated with ${JDK_DIR_LIST}"
+        yetus_add_entry EXEC_MODES MultiJDK
       ;;
       --multijdktests=*)
-        yetus_comma_to_array JDK_TEST_LIST "${i#*=}"
-        yetus_debug "MultiJDK test list=${JDK_TEST_LIST[*]}"
+        JDK_TEST_LIST=${i#*=}
+        JDK_TEST_LIST=${JDK_TEST_LIST//,/ }
+        yetus_debug "Multi-JDK test list: ${JDK_TEST_LIST}"
       ;;
       --mv-patch-dir)
         RELOCATE_PATCH_DIR=true;
@@ -884,7 +888,7 @@ function parse_args
       --sentinel)
         # shellcheck disable=SC2034
         SENTINEL=true
-        yetus_add_array_element EXEC_MODES Sentinel
+        yetus_add_entry EXEC_MODES Sentinel
       ;;
       --skip-dirs=*)
         MODULE_SKIPDIRS=${i#*=}
@@ -949,7 +953,7 @@ function parse_args
     RESETREPO=true
     RUN_TESTS=true
     ISSUE=${PATCH_OR_ISSUE}
-    yetus_add_array_element EXEC_MODES Robot
+    yetus_add_entry EXEC_MODES Robot
   fi
 
   if [[ -n $UNIT_TEST_FILTER_FILE ]]; then
@@ -969,14 +973,14 @@ function parse_args
 
   if [[ "${DOCKERMODE}" = true || "${DOCKERSUPPORT}" = true ]]; then
     if [[ "${DOCKER_DESTRCUTIVE}" = true ]]; then
-      yetus_add_array_element EXEC_MODES DestructiveDocker
+      yetus_add_entry EXEC_MODES DestructiveDocker
     else
-      yetus_add_array_element EXEC_MODES Docker
+      yetus_add_entry EXEC_MODES Docker
     fi
     add_vote_table 0 reexec "Docker mode activated."
     start_clock
   elif [[ "${REEXECED}" = true ]]; then
-    yetus_add_array_element EXEC_MODES Re-exec
+    yetus_add_entry EXEC_MODES Re-exec
     add_vote_table 0 reexec "Precommit patch detected."
     start_clock
   fi
@@ -1014,11 +1018,11 @@ function parse_args
   fi
 
   if [[ ${RESETREPO} == "true" ]] ; then
-    yetus_add_array_element EXEC_MODES ResetRepo
+    yetus_add_entry EXEC_MODES ResetRepo
   fi
 
   if [[ ${RUN_TESTS} == "true" ]] ; then
-    yetus_add_array_element EXEC_MODES UnitTests
+    yetus_add_entry EXEC_MODES UnitTests
   fi
 
   if [[ -n "${USER_PLUGIN_DIR}" ]]; then
@@ -1290,7 +1294,7 @@ function determine_branch
     return
   fi
 
-  for bugs in "${BUGSYSTEMS[@]}"; do
+  for bugs in ${BUGSYSTEMS}; do
     if declare -f "${bugs}_determine_branch" >/dev/null;then
       "${bugs}_determine_branch"
       retval=$?
@@ -1318,7 +1322,7 @@ function determine_issue
 
   yetus_debug "Determine issue"
 
-  for bugsys in "${BUGSYSTEMS[@]}"; do
+  for bugsys in ${BUGSYSTEMS}; do
     if declare -f "${bugsys}_determine_issue" >/dev/null; then
       if "${bugsys}_determine_issue" "${PATCH_OR_ISSUE}"; then
         yetus_debug "${bugsys} says ${ISSUE}"
@@ -1346,14 +1350,14 @@ function determine_needed_tests
     yetus_debug "Determining needed tests for ${i}"
     personality_file_tests "${i}"
 
-    for plugin in "${TESTTYPES[@]}" ${BUILDTOOL}; do
+    for plugin in ${TESTTYPES} ${BUILDTOOL}; do
       if declare -f "${plugin}_filefilter" >/dev/null 2>&1; then
         "${plugin}_filefilter" "${i}"
       fi
     done
   done
 
-  add_footer_table "Optional Tests" "${NEEDED_TESTS[*]}"
+  add_footer_table "Optional Tests" "${NEEDED_TESTS}"
 }
 
 ## @description  Given ${PATCH_DIR}/patch, apply the patch
@@ -1978,7 +1982,7 @@ function check_unittests
   declare multijdkmode
   declare jdk=""
   declare jdkindex=0
-  declare -a jdklist
+  declare jdklist
   declare statusjdk
   declare formatresult=0
   declare needlog
@@ -1991,13 +1995,13 @@ function check_unittests
 
   if verify_multijdk_test unit; then
     multijdkmode=true
-    jdklist=("${JDK_DIR_LIST[@]}")
+    jdklist=${JDK_DIR_LIST}
   else
     multijdkmode=false
-    jdklist=("${JAVA_HOME}")
+    jdklist=${JAVA_HOME}
   fi
 
-  for jdkindex in "${jdklist[@]}"; do
+  for jdkindex in ${jdklist}; do
     if [[ ${multijdkmode} == true ]]; then
       JAVA_HOME=${jdkindex}
       jdk=$(report_jvm_version "${JAVA_HOME}")
@@ -2021,7 +2025,7 @@ function check_unittests
       buildtool_cwd "${i}"
 
       needlog=0
-      for testsys in "${TESTFORMATS[@]}"; do
+      for testsys in ${TESTFORMATS}; do
         if declare -f "${testsys}_process_tests" >/dev/null; then
           yetus_debug "Calling ${testsys}_process_tests"
           "${testsys}_process_tests" "${module}" "${test_logfile}" "${fn}"
@@ -2042,7 +2046,7 @@ function check_unittests
       ((i=i+1))
     done
 
-    for testsys in "${TESTFORMATS[@]}"; do
+    for testsys in ${TESTFORMATS}; do
       if declare -f "${testsys}_finalize_results" >/dev/null; then
         yetus_debug "Calling ${testsys}_finalize_results"
         "${testsys}_finalize_results" "${statusjdk}"
@@ -2277,7 +2281,7 @@ function runtests
     check_unittests
   fi
 
-  for plugin in "${TESTTYPES[@]}"; do
+  for plugin in ${TESTTYPES}; do
     verify_patchdir_still_exists
     if declare -f "${plugin}_tests" >/dev/null 2>&1; then
       modules_reset
@@ -2484,7 +2488,7 @@ function generic_pre_handler
   declare -r savejavahome=${JAVA_HOME}
   declare multijdkmode
   declare jdkindex=0
-  declare -a jdklist
+  declare jdklist
 
   if ! verify_needed_test "${testtype}"; then
      return 0
@@ -2494,13 +2498,13 @@ function generic_pre_handler
 
   if verify_multijdk_test "${testtype}"; then
     multijdkmode=true
-    jdklist=("${JDK_DIR_LIST[@]}")
+    jdklist=${JDK_DIR_LIST}
   else
     multijdkmode=false
-    jdklist=("${JAVA_HOME}")
+    jdklist=${JAVA_HOME}
   fi
 
-  for jdkindex in "${jdklist[@]}"; do
+  for jdkindex in ${jdklist}; do
     if [[ ${multijdkmode} == true ]]; then
       JAVA_HOME=${jdkindex}
     fi
@@ -2650,7 +2654,7 @@ function generic_post_handler
 
   big_console_header "${testtype} verification: ${BUILDMODE}"
 
-  for jdkindex in "${JDK_DIR_LIST[@]}"; do
+  for jdkindex in ${JDK_DIR_LIST}; do
     if [[ ${multijdkmode} == true ]]; then
       JAVA_HOME=${jdkindex}
       yetus_debug "Using ${JAVA_HOME} to run this set of tests"
@@ -2691,17 +2695,17 @@ function compile_jvm
   declare -r savejavahome=${JAVA_HOME}
   declare multijdkmode
   declare jdkindex=0
-  declare -a jdklist
+  declare jdklist
 
   if verify_multijdk_test compile; then
     multijdkmode=true
-    jdklist=("${JDK_DIR_LIST[@]}")
+    jdklist=${JDK_DIR_LIST}
   else
     multijdkmode=false
-    jdklist=("${JAVA_HOME}")
+    jdklist=${JAVA_HOME}
   fi
 
-  for jdkindex in "${jdklist[@]}"; do
+  for jdkindex in ${jdklist}; do
     if [[ ${multijdkmode} == true ]]; then
       JAVA_HOME=${jdkindex}
     fi
@@ -2739,7 +2743,7 @@ function compile_nonjvm
 
   modules_backup
 
-  for plugin in "${TESTTYPES[@]}"; do
+  for plugin in ${TESTTYPES}; do
     modules_restore
     verify_patchdir_still_exists
     if declare -f "${plugin}_compile" >/dev/null 2>&1; then
@@ -2802,7 +2806,7 @@ function compile_cycle
 
   find_changed_modules "${codebase}"
 
-  for plugin in ${PROJECT_NAME} ${BUILDTOOL} "${TESTTYPES[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${PROJECT_NAME} ${BUILDTOOL} ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_precompile" >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_precompile"
       if ! "${plugin}_precompile" "${codebase}"; then
@@ -2814,7 +2818,7 @@ function compile_cycle
 
   compile "${codebase}"
 
-  for plugin in ${PROJECT_NAME} ${BUILDTOOL} "${TESTTYPES[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${PROJECT_NAME} ${BUILDTOOL} ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_postcompile" >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_postcompile"
       if ! "${plugin}_postcompile" "${codebase}"; then
@@ -2824,7 +2828,7 @@ function compile_cycle
     fi
   done
 
-  for plugin in ${PROJECT_NAME} ${BUILDTOOL} "${TESTTYPES[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${PROJECT_NAME} ${BUILDTOOL} ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_rebuild" >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_rebuild"
       if ! "${plugin}_rebuild" "${codebase}"; then
@@ -2853,7 +2857,7 @@ function patchfiletests
   declare plugin
   declare result=0
 
-  for plugin in ${BUILDTOOL} "${TESTTYPES[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${BUILDTOOL} ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_patchfile" >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_patchfile"
       if ! "${plugin}_patchfile" "${PATCH_DIR}/patch"; then
@@ -2883,7 +2887,7 @@ function distclean
 
   big_console_header "Cleaning the source tree"
 
-  for plugin in "${TESTTYPES[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${TESTTYPES} ${TESTFORMATS}; do
     if declare -f "${plugin}_clean" >/dev/null 2>&1; then
       yetus_debug "Running ${plugin}_distclean"
       if ! "${plugin}_clean"; then
@@ -2978,7 +2982,7 @@ function initialize
     personality_parse_args "$@"
   fi
 
-  BUGCOMMENTS=${BUGCOMMENTS:-"${BUGSYSTEMS[@]}"}
+  BUGCOMMENTS=${BUGCOMMENTS:-${BUGSYSTEMS}}
   if [[ ! ${BUGCOMMENTS} =~ console ]]; then
     BUGCOMMENTS="${BUGCOMMENTS} console"
   fi
@@ -3008,7 +3012,7 @@ function initialize
     cleanup_and_exit 1
   fi
 
-  echo "Modes: ${EXEC_MODES[*]}"
+  echo "Modes: ${EXEC_MODES}"
 
   if [[ "${BUILDMODE}" = patch ]]; then
     locate_patch
@@ -3064,7 +3068,7 @@ function prechecks
   declare plugin
   declare result=0
 
-  for plugin in ${BUILDTOOL} "${NEEDED_TESTS[@]}" "${TESTFORMATS[@]}"; do
+  for plugin in ${BUILDTOOL} ${NEEDED_TESTS} ${TESTFORMATS}; do
     verify_patchdir_still_exists
 
     if declare -f "${plugin}_precheck" >/dev/null 2>&1; then
diff --git a/precommit/src/test/shell/functions_test_helper.bash b/precommit/src/test/shell/functions_test_helper.bash
deleted file mode 100755
index 2d92edf..0000000
--- a/precommit/src/test/shell/functions_test_helper.bash
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/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.
-
-setup() {
-  RELTMP="${BATS_TEST_DIRNAME}/../../../target/test-dir/bats.$$.${RANDOM}"
-  mkdir -p "${RELTMP}"
-  TMP=$(cd -P -- "${RELTMP}" >/dev/null && pwd -P)
-  export TMP
-  TESTBINDIR=$(cd -P -- "$(pwd)" >/dev/null && pwd -P)
-
-  echo "bindir: ${TESTBINDIR}" 2>&1
-
-  mkdir -p "${TMP}"
-
-  # shellcheck disable=SC2034
-  QATESTMODE=true
-
-  # shellcheck disable=SC1090
-  . "${BATS_TEST_DIRNAME}/../../main/shell/core.d/00-yetuslib.sh"
-  # shellcheck disable=SC1090
-  . "${BATS_TEST_DIRNAME}/../../main/shell/core.d/01-common.sh"
-  pushd "${TMP}" >/dev/null || return 1
-}
-
-teardown() {
-  popd >/dev/null || return 1
-  rm -rf "${TMP}"
-}
-
-
-strstr() {
-  if [ "${1#*$2}" != "${1}" ]; then
-    echo true
-  else
-    echo false
-  fi
-}
diff --git a/precommit/src/test/shell/run-bats.sh b/precommit/src/test/shell/run-bats.sh
deleted file mode 100755
index 566f47a..0000000
--- a/precommit/src/test/shell/run-bats.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/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.
-
-targetdir=../../../target
-mkdir -p ${targetdir}/surefire-reports ${targetdir}/tap
-
-batsexe=$(which bats) 2>/dev/null
-
-if [[ -z ${batsexe} ]]; then
-  echo "not ok - no bats executable found" >  "${targetdir}/tap/shelltest.tap"
-  echo ""
-  echo ""
-  echo "ERROR: bats not installed. Skipping bash tests."
-  echo "ERROR: Please install bats as soon as possible."
-  echo ""
-  echo ""
-  exit 0
-fi
-
-for j in *.bats; do
-  echo Running bats -t "${j}"
-  bats -t "${j}" 2>&1 | tee "${targetdir}/tap/${j}.tap"
-  result=${PIPESTATUS[0]}
-  ((exitcode=exitcode+result))
-done
-
-if [[ ${exitcode} -gt 0 ]]; then
-  exit 1
-fi
-exit 0
diff --git a/precommit/src/test/shell/yetus_add_array_element.bats b/precommit/src/test/shell/yetus_add_array_element.bats
deleted file mode 100755
index 462f34c..0000000
--- a/precommit/src/test/shell/yetus_add_array_element.bats
+++ /dev/null
@@ -1,36 +0,0 @@
-# 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 functions_test_helper
-
-@test "yetus_add_array_element (empty)" {
-  yetus_add_array_element ARRAY value
-  [ "${ARRAY[0]}" = value ]
-}
-
-@test "yetus_add_array_element (exist)" {
-  ARRAY=("val2")
-  yetus_add_array_element ARRAY val1
-  [ "${ARRAY[0]}" = val2 ]
-  [ "${ARRAY[1]}" = val1 ]
-}
-
-@test "yetus_add_array_element (double exist)" {
-  ARRAY=("val2" "val1")
-  yetus_add_array_element ARRAY val3
-  [ "${ARRAY[0]}" = val2 ]
-  [ "${ARRAY[1]}" = val1 ]
-  [ "${ARRAY[2]}" = val3 ]
-}
diff --git a/precommit/src/test/shell/yetus_array_contains.bats b/precommit/src/test/shell/yetus_array_contains.bats
deleted file mode 100755
index 4151ffe..0000000
--- a/precommit/src/test/shell/yetus_array_contains.bats
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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 functions_test_helper
-
-@test "yetus_array_contains (empty)" {
-  run yetus_array_contains value "${ARRAY[@]}"
-  [ "${status}" = 1 ]
-}
-
-@test "yetus_array_contains (exist)" {
-  ARRAY=("value")
-  run yetus_array_contains value "${ARRAY[@]}"
-  [ "${status}" = 0 ]
-}
-
-@test "yetus_array_contains (notexist)" {
-  ARRAY=("different")
-  run yetus_array_contains value "${ARRAY[@]}"
-  [ "${status}" = 1 ]
-}
-
-@test "yetus_array_contains (exist, multi)" {
-  ARRAY=("val1" "val2" "val3")
-  for j in val1 val2 val3; do
-    run yetus_array_contains "${j}" "${ARRAY[@]}"
-    [ "${status}" = 0 ]
-  done
-}
-
-@test "yetus_array_contains (multi, not exist)" {
-  ARRAY=("val1" "val2" "val3")
-  run yetus_array_contains value "${ARRAY[@]}"
-  [ "${status}" = 1 ]
-}
diff --git a/precommit/src/test/shell/yetus_del_array_element.bats b/precommit/src/test/shell/yetus_del_array_element.bats
deleted file mode 100755
index a79b584..0000000
--- a/precommit/src/test/shell/yetus_del_array_element.bats
+++ /dev/null
@@ -1,59 +0,0 @@
-# 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 functions_test_helper
-
-@test "yetus_del_array_element (empty array)" {
-  yetus_del_array_element ARRAY value
-  [ "${#ARRAY[@]}" = 0 ]
-}
-
-@test "yetus_del_array_element (not exist)" {
-  ARRAY=("val2")
-  yetus_del_array_element ARRAY val1
-  [ "${ARRAY[0]}" = val2 ]
-  [ "${#ARRAY[@]}" -eq 1 ]
-}
-
-@test "yetus_add_array_element (single exist)" {
-  ARRAY=("val1")
-  yetus_del_array_element ARRAY val1
-  echo ">${ARRAY[@]}<"
-  [ "${#ARRAY[@]}" -eq 0 ]
-}
-
-@test "yetus_del_array_element (size 2, exist)" {
-  ARRAY=("val2" "val1")
-  yetus_del_array_element ARRAY val1
-  [ "${ARRAY[0]}" = val2 ]
-  [ "${ARRAY[1]}" = '' ]
-  [ "${#ARRAY[@]}" -eq 1 ]
-}
-
-@test "yetus_del_array_element (size 2, exist, squash)" {
-  ARRAY=("val2" "val1")
-  yetus_del_array_element ARRAY val2
-  [ "${ARRAY[0]}" = val1 ]
-  [ "${ARRAY[1]}" = '' ]
-  [ "${#ARRAY[@]}" -eq 1 ]
-}
-
-@test "yetus_del_array_element (size 3, exist, squash)" {
-  ARRAY=("val3" "val2" "val1")
-  yetus_del_array_element ARRAY val2
-  [ "${ARRAY[0]}" = val3 ]
-  [ "${ARRAY[1]}" = val1 ]
-  [ "${#ARRAY[@]}" -eq 2 ]
-}
\ No newline at end of file


Mime
View raw message