[lvm-devel] master - tests: better support for unbound vars for older shell
Zdenek Kabelac
zkabelac at sourceware.org
Mon Jul 17 18:57:13 UTC 2017
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=fde23f7ce1a7e567fce3f1d33387f110f81d1fef
Commit: fde23f7ce1a7e567fce3f1d33387f110f81d1fef
Parent: 5a5553bcec2141382407d27781cbade2f6966fe1
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Jul 17 20:32:48 2017 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Jul 17 20:32:48 2017 +0200
tests: better support for unbound vars for older shell
---
test/lib/aux.sh | 43 ++++++++++++++++++-------------------------
1 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index b385129..20a8a1e 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -272,7 +272,7 @@ prepare_lvmpolld() {
check_daemon_in_builddir lvmetad
lvmconf "global/use_lvmpolld = 1"
- local run_valgrind
+ local run_valgrind=""
test "${LVM_VALGRIND_LVMPOLLD:-0}" -eq 0 || run_valgrind="run_valgrind"
kill_sleep_kill_ LOCAL_LVMPOLLD "${LVM_VALGRIND_LVMPOLLD:-0}"
@@ -881,23 +881,22 @@ prepare_devs() {
common_dev_() {
local tgtype=$1
- local name=${2##*/}
- local offsets
- local read_ms
- local write_ms
+ local dev=$2
+ local name=${dev##*/}
+ shift 2
+ local read_ms=${1-0}
+ local write_ms=${2-0}
case "$tgtype" in
delay)
- read_ms=${3:-0}
- write_ms=${4:-0}
- offsets=( ${@:5} )
- if test "$read_ms" -eq 0 && test "$write_ms" -eq 0 ; then
- offsets=( )
- else
- test -z "${offsets[@]}" && offsets=( "0:" )
- fi ;;
- error|zero) offsets=( ${@:3} )
- test -z "${offsets[@]}" && offsets=( "0:" ) ;;
+ test "$read_ms" -eq 0 && test "$write_ms" -eq 0 && {
+ # zero delay is just equivalent to 'enable_dev'
+ enable_dev "$dev"
+ return
+ }
+ shift 2
+ ;;
+ # error|zero target does not take read_ms & write_ms only offset list
esac
local pos
@@ -908,7 +907,7 @@ common_dev_() {
read -r pos size type pvdev offset < "$name.table"
- for fromlen in "${offsets[@]}"; do
+ for fromlen in "${@-0:}"; do
from=${fromlen%%:*}
len=${fromlen##*:}
test -n "$len" || len=$(( size - from ))
@@ -931,11 +930,7 @@ common_dev_() {
diff=$(( size - pos ))
test "$diff" -gt 0 && echo "$pos $diff $type $pvdev $(( pos + offset ))" >>"$name.devtable"
- init_udev_transaction
- dmsetup load "$name" "$name.devtable"
- # TODO: add support for resume without udev rescan
- dmsetup resume "$name"
- finish_udev_transaction
+ restore_from_devtable "$dev"
}
# Replace linear PV device with its 'delayed' version
@@ -1001,8 +996,7 @@ enable_dev() {
rm -f debug.log strace.log
init_udev_transaction
for dev in "$@"; do
- local name
- name=$(echo "$dev" | sed -e 's,.*/,,')
+ local name=${dev##*/}
dmsetup create -u "TEST-$name" "$name" "$name.table" 2>/dev/null || \
dmsetup load "$name" "$name.table"
# using device name (since device path does not exists yes with udev)
@@ -1029,8 +1023,7 @@ restore_from_devtable() {
rm -f debug.log strace.log
init_udev_transaction
for dev in "$@"; do
- local name
- name=$(echo "$dev" | sed -e 's,.*/,,')
+ local name=${dev##*/}
dmsetup load "$name" "$name.devtable"
dmsetup resume "$name"
done
More information about the lvm-devel
mailing list