diff --git a/test/utils/shippable/units.sh b/test/utils/shippable/units.sh index f743df51566..b6240d95023 100755 --- a/test/utils/shippable/units.sh +++ b/test/utils/shippable/units.sh @@ -44,17 +44,27 @@ networks=( ) for network in "${networks[@]}"; do - group1+=(--exclude "test/units/modules/network/${network}/") - group2+=("test/units/modules/network/${network}/") + test_path="test/units/modules/network/${network}/" + + if [ -d "${test_path}" ]; then + group1+=(--exclude "${test_path}") + group2+=("${test_path}") + fi done case "${group}" in - 1) options=("${group1[@]}") ;; - 2) options=("${group2[@]}") ;; + 1) options=("${group1[@]:+${group1[@]}}") ;; + 2) options=("${group2[@]:+${group2[@]}}") ;; esac +if [ ${#options[@]} -eq 0 ] && [ "${group}" -eq 2 ]; then + # allow collection migration unit tests for group 2 to "pass" without updating shippable.yml or this script during migration + echo "No unit tests found for group ${group}." + exit +fi + ansible-test env --timeout "${timeout}" --color -v # shellcheck disable=SC2086 ansible-test units --color -v --docker default --python "${version}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} \ - "${options[@]}" \ + "${options[@]:+${options[@]}}" \