[lvm-devel] LVM2/test/lib aux.sh
zkabelac at sourceware.org
zkabelac at sourceware.org
Thu Nov 10 12:44:01 UTC 2011
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2011-11-10 12:44:00
Modified files:
test/lib : aux.sh
Log message:
Add generic function to check for target version
So the test script may use a simple line like i.e.:
aux target_at_least dm-thin-pool 1 0 0 || skip
aux target_at_least snapshot-origin 1 6 || skip
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/lib/aux.sh.diff?cvsroot=lvm2&r1=1.33&r2=1.34
--- LVM2/test/lib/aux.sh 2011/10/23 15:43:10 1.33
+++ LVM2/test/lib/aux.sh 2011/11/10 12:44:00 1.34
@@ -448,6 +448,39 @@
fi
}
+#
+# Check wheter kernel [dm module] target exist
+# at least in expected version
+#
+# [dm-]target-name major minor revision
+#
+# i.e. dm_target_at_least dm-thin-pool 1 0
+target_at_least()
+{
+ case "$1" in
+ dm-*) modprobe "$1" ;;
+ esac
+
+ version=$(dmsetup targets 2>/dev/null | grep "${1##dm-} " 2>/dev/null)
+ version=${version##* v}
+ shift
+ major=$(echo $version | cut -d. -f1)
+ minor=$(echo $version | cut -d. -f2)
+ revision=$(echo $version | cut -d. -f3)
+
+ test -z "$1" && return 0
+ test -z "$major" && return 1
+ test "$major" -gt "$1" && return 0
+ test "$major" -lt "$1" && return 1
+ test -z "$2" && return 0
+ test -z "$minor" && return 1
+ test "$minor" -gt "$2" && return 0
+ test "$minor" -lt "$2" && return 1
+ test -z "$4" && return 0
+ test -z "$revision" && return 1
+ test "$revision" -lt "$3" && return 1
+}
+
test -f DEVICES && devs=$(cat DEVICES)
test -f LOOP && LOOP=$(cat LOOP)
More information about the lvm-devel
mailing list