]> www.infradead.org Git - users/hch/blktests.git/commitdiff
blktests: Use old variable check for Bash <4.2
authorJon Derrick <jonathan.derrick@intel.com>
Fri, 3 May 2019 18:28:28 +0000 (12:28 -0600)
committerOmar Sandoval <osandov@fb.com>
Mon, 6 May 2019 21:01:52 +0000 (14:01 -0700)
Bash 4.2 and above supports -v variable checks, which returns true for
set or null. Instead use an older bashism that is compatible with bash
4.1 and earlier but only returns true if the variable is set non-null.
This inherently adds a sanity check in case of null variables.

Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
check
common/cgroup
common/fio
common/rc
tests/meta/rc

diff --git a/check b/check
index 69565de3aebfded5ea57794d397ba6327fce2199..029095e7cf387914e8aefc0343024406400159bd 100755 (executable)
--- a/check
+++ b/check
@@ -197,7 +197,7 @@ _output_status() {
 
        if (( RUN_FOR_ZONED )); then zoned=" (zoned) "; fi
 
-       if [[ -v DESCRIPTION ]]; then
+       if [[ "${DESCRIPTION:-}" ]]; then
                printf '%-60s' "${test}${zoned}($DESCRIPTION)"
        else
                printf '%-60s' "${test}${zoned}"
@@ -234,7 +234,7 @@ _output_notrun() {
 }
 
 _output_last_test_run() {
-       if [[ -v TEST_DEV ]]; then
+       if [[ "${TEST_DEV:-}" ]]; then
                _output_status "$TEST_NAME => $(basename "$TEST_DEV")" ""
        else
                _output_status "$TEST_NAME" ""
@@ -259,7 +259,7 @@ _output_test_run() {
                tput cuu $((${#LAST_TEST_RUN[@]} - 3))
        fi
 
-       if [[ -v TEST_DEV ]]; then
+       if [[ "${TEST_DEV:-}" ]]; then
                _output_status "$TEST_NAME => $(basename "$TEST_DEV")" "${TEST_RUN["status"]}ed"
        else
                _output_status "$TEST_NAME" "${TEST_RUN["status"]}ed"
@@ -289,7 +289,7 @@ _output_test_run() {
 }
 
 _cleanup() {
-       if [[ -v TMPDIR ]]; then
+       if [[ "${TMPDIR:-}" ]]; then
                rm -rf "$TMPDIR"
                unset TMPDIR
        fi
@@ -301,7 +301,7 @@ _cleanup() {
                unset TEST_DEV_QUEUE_SAVED["$key"]
        done
 
-       if [[ -v RESTORE_CPUS_ONLINE ]]; then
+       if [[ "${RESTORE_CPUS_ONLINE:-}" ]]; then
                local cpu
                for cpu in "${!CPUS_ONLINE_SAVED[@]}"; do
                        echo "${CPUS_ONLINE_SAVED["$cpu"]}" >"/sys/devices/system/cpu/cpu$cpu/online"
@@ -660,18 +660,18 @@ fi
 : "${QUICK_RUN:=0}"
 : "${RUN_ZONED_TESTS:=0}"
 : "${OUTPUT:=results}"
-if [[ -v EXCLUDE ]] && ! declare -p EXCLUDE | grep -q '^declare -a'; then
+if [[ "${EXCLUDE:-}" ]] && ! declare -p EXCLUDE | grep -q '^declare -a'; then
        # If EXCLUDE was not defined as an array, convert it to one.
-       # shellcheck disable=SC2190,SC2206
+       # shellcheck disable=SC2128,SC2190,SC2206
        EXCLUDE=($EXCLUDE)
-elif [[ ! -v EXCLUDE ]]; then
+elif [[ ! "${EXCLUDE:-}" ]]; then
        EXCLUDE=()
 fi
-if [[ -v TEST_DEVS ]] && ! declare -p TEST_DEVS | grep -q '^declare -a'; then
+if [[ "${TEST_DEVS:-}" ]] && ! declare -p TEST_DEVS | grep -q '^declare -a'; then
        # If TEST_DEVS was not defined as an array, convert it to one.
-       # shellcheck disable=SC2206
+       # shellcheck disable=SC2128,SC2206
        TEST_DEVS=($TEST_DEVS)
-elif [[ ! -v TEST_DEVS ]]; then
+elif [[ ! "${TEST_DEVS:-}" ]]; then
        TEST_DEVS=()
 fi
 
@@ -710,7 +710,7 @@ while true; do
        esac
 done
 
-if [[ $QUICK_RUN -ne 0 && ! -v TIMEOUT ]]; then
+if [[ $QUICK_RUN -ne 0 && ! "${TIMEOUT:-}" ]]; then
        _error "QUICK_RUN specified without TIMEOUT"
 fi
 
index 554ebf7ecc086259939e155974e3be7b19d6eec4..c34bffd5d299fefee3c51390429130b4a81db130 100644 (file)
@@ -22,7 +22,7 @@ _init_cgroup2()
 
 _exit_cgroup2()
 {
-       if [[ -v CGROUP2_DIR ]]; then
+       if [[ "${CGROUP2_DIR:-}" ]]; then
                find "$CGROUP2_DIR" -type d -delete
                unset CGROUP2_DIR
        fi
index 2b4f6e2e3d97330f312b1c8fc86ebe6f554c50cd..2e81b26b50f16920f142e5c731460531f591f146 100644 (file)
@@ -161,7 +161,7 @@ _fio_perf() {
 _run_fio() {
        local args=("--output=$TMPDIR/fio_perf" "--output-format=terse" "--terse-version=4" "--group_reporting=1")
 
-       if [[ -v TIMEOUT ]]; then
+       if [[ "${TIMEOUT:-}" ]]; then
                args+=("--runtime=$TIMEOUT")
        fi
 
index 71e27c33c935d55f28e1be89c3f83b509eaa495e..5dd2c9512fd2a84353737f29e6dbb41815fb26da 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -15,7 +15,7 @@ shopt -s extglob
 # for TIMEOUT / number of subtests.
 _divide_timeout() {
        local num_tests="$1"
-       if [[ -v TIMEOUT ]]; then
+       if [[ "${TIMEOUT:-}" ]]; then
                ((TIMEOUT = (TIMEOUT + num_tests - 1) / num_tests))
        fi
 }
index da584d6bea0863e116f202cab95b8023dd9f6dea..093edd17419f2f2ba4f65880cf220bd5b85cc5fe 100644 (file)
@@ -7,7 +7,7 @@
 . common/rc
 
 group_requires() {
-       if [[ -v META_REQUIRES_SKIP ]]; then
+       if [[ "${META_REQUIRES_SKIP:-}" ]]; then
                SKIP_REASON="META_REQUIRES_SKIP was set"
                return 1
        fi
@@ -15,7 +15,7 @@ group_requires() {
 }
 
 group_device_requires() {
-       if [[ -v META_DEVICE_REQUIRES_SKIP ]]; then
+       if [[ "${META_DEVICE_REQUIRES_SKIP:-}" ]]; then
                SKIP_REASON="META_DEVICE_REQUIRES_SKIP was set"
                return 1
        fi