73aa139585
- libparted: Fix bug with dupe and empty name
342 lines
9.7 KiB
Diff
342 lines
9.7 KiB
Diff
From c987c73cbe773dfa3b14b911ffc243137195bbb3 Mon Sep 17 00:00:00 2001
|
|
From: Jim Meyering <meyering@redhat.com>
|
|
Date: Sat, 29 Sep 2012 12:10:35 +0200
|
|
Subject: [PATCH 030/131] tests: clean up tests
|
|
|
|
Use warn_ and $ME_ in place of warn and $ME; remove definitions of
|
|
the latter two. Remove unused code.
|
|
* tests/lvm-utils.sh: Remove file. All functions were either unused
|
|
or duplicated/better in t-lvm.sh.
|
|
* tests/Makefile.am (EXTRA_DIST): Remove it.
|
|
* tests/t-local.sh (scsi_debug_setup_): Use echo 1>&2, not warn_, to
|
|
emit to log file only, not console. The diagnostic it emitted (in
|
|
verbose mode) was more "informational" than a warning.
|
|
* tests/t9030-align-check.sh: Use warn_, not warn.
|
|
* tests/t-lvm.sh: Likewise, and use fail_, not error (undefined!).
|
|
* tests/t-lib-helpers.sh (device_mapper_required_): Use t-lvm.sh
|
|
and an explicit lvm_init_root_dir_ in place of lvm-utils.sh.
|
|
---
|
|
tests/Makefile.am | 2 +-
|
|
tests/lvm-utils.sh | 208 ---------------------------------------------
|
|
tests/t-lib-helpers.sh | 4 +-
|
|
tests/t-local.sh | 2 +-
|
|
tests/t-lvm.sh | 11 +--
|
|
tests/t9030-align-check.sh | 3 +-
|
|
6 files changed, 10 insertions(+), 220 deletions(-)
|
|
delete mode 100644 tests/lvm-utils.sh
|
|
|
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
|
index 96abecb..80d5525 100644
|
|
--- a/tests/Makefile.am
|
|
+++ b/tests/Makefile.am
|
|
@@ -74,7 +74,7 @@ TESTS = \
|
|
t9050-partition-table-types.sh
|
|
|
|
EXTRA_DIST = \
|
|
- $(TESTS) lvm-utils.sh t-local.sh t-lvm.sh \
|
|
+ $(TESTS) t-local.sh t-lvm.sh \
|
|
init.cfg init.sh t-lib-helpers.sh gpt-header-munge
|
|
|
|
check_PROGRAMS = print-align print-max dup-clobber duplicate fs-resize
|
|
diff --git a/tests/lvm-utils.sh b/tests/lvm-utils.sh
|
|
deleted file mode 100644
|
|
index 456d265..0000000
|
|
--- a/tests/lvm-utils.sh
|
|
+++ /dev/null
|
|
@@ -1,208 +0,0 @@
|
|
-# Put lvm-related utilities here.
|
|
-# This file is sourced from test infrastructure.
|
|
-
|
|
-# Copyright (C) 2007-2010 Red Hat, Inc. All rights reserved.
|
|
-#
|
|
-# This copyrighted material is made available to anyone wishing to use,
|
|
-# modify, copy, or redistribute it subject to the terms and conditions
|
|
-# of the GNU General Public License v.2.
|
|
-#
|
|
-# You should have received a copy of the GNU General Public License
|
|
-# along with this program; if not, write to the Free Software Foundation,
|
|
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
-
|
|
-export LVM_SUPPRESS_FD_WARNINGS=1
|
|
-
|
|
-ME=$(basename "$0")
|
|
-warn() { echo >&2 "$ME: $@"; }
|
|
-
|
|
-unsafe_losetup_()
|
|
-{
|
|
- f=$1
|
|
-
|
|
- test -n "$G_dev_" \
|
|
- || fail_ "Internal error: unsafe_losetup_ called before init_root_dir_"
|
|
-
|
|
- # Iterate through $G_dev_/loop{,/}{0,1,2,3,4,5,6,7,8,9}
|
|
- for slash in '' /; do
|
|
- for i in 0 1 2 3 4 5 6 7 8 9; do
|
|
- dev=$G_dev_/loop$slash$i
|
|
- losetup $dev > /dev/null 2>&1 && continue;
|
|
- losetup "$dev" "$f" > /dev/null && { echo "$dev"; return 0; }
|
|
- break
|
|
- done
|
|
- done
|
|
-
|
|
- return 1
|
|
-}
|
|
-
|
|
-loop_setup_()
|
|
-{
|
|
- file=$1
|
|
- dd if=/dev/zero of="$file" bs=1M count=1 seek=1000 > /dev/null 2>&1 \
|
|
- || { warn "loop_setup_ failed: Unable to create tmp file $file"; return 1; }
|
|
-
|
|
- # NOTE: this requires a new enough version of losetup
|
|
- dev=$(unsafe_losetup_ "$file") \
|
|
- || { warn "loop_setup_ failed: Unable to create loopback device"; return 1; }
|
|
-
|
|
- echo "$dev"
|
|
- return 0;
|
|
-}
|
|
-
|
|
-compare_two_fields_()
|
|
-{
|
|
- local cmd1=$1;
|
|
- local obj1=$2;
|
|
- local field1=$3;
|
|
- local cmd2=$4;
|
|
- local obj2=$5;
|
|
- local field2=$6;
|
|
- local val1;
|
|
- local val2;
|
|
-
|
|
- val1=$($cmd1 --noheadings -o $field1 $obj1)
|
|
- val2=$($cmd2 --noheadings -o $field2 $obj2)
|
|
-if test "$verbose" = "t"
|
|
-then
|
|
- echo "compare_two_fields_ $obj1($field1): $val1 $obj2($field2): $val2"
|
|
-fi
|
|
- test $val1 = $val2
|
|
-}
|
|
-
|
|
-compare_vg_field_()
|
|
-{
|
|
- local vg1=$1;
|
|
- local vg2=$2;
|
|
- local field=$3;
|
|
- local val1;
|
|
- local val2;
|
|
-
|
|
- val1=$(vgs --noheadings -o $field $vg1)
|
|
- val2=$(vgs --noheadings -o $field $vg2)
|
|
-if test "$verbose" = "t"
|
|
-then
|
|
- echo "compare_vg_field_ VG1: $val1 VG2: $val2"
|
|
-fi
|
|
- test $val1 = $val2
|
|
-}
|
|
-
|
|
-check_vg_field_()
|
|
-{
|
|
- local vg=$1;
|
|
- local field=$2;
|
|
- local expected=$3;
|
|
- local actual;
|
|
-
|
|
- actual=$(vgs --noheadings -o $field $vg)
|
|
-if test "$verbose" = "t"
|
|
-then
|
|
- echo "check_vg_field_ VG=$vg, field=$field, actual=$actual, expected=$expected"
|
|
-fi
|
|
- test $actual = $expected
|
|
-}
|
|
-
|
|
-check_pv_field_()
|
|
-{
|
|
- local pv=$1;
|
|
- local field=$2;
|
|
- local expected=$3;
|
|
- local actual;
|
|
-
|
|
- actual=$(pvs --noheadings -o $field $pv)
|
|
-if test "$verbose" = "t"
|
|
-then
|
|
- echo "check_pv_field_ PV=$pv, field=$field, actual=$actual, expected=$expected"
|
|
-fi
|
|
- test $actual = $expected
|
|
-}
|
|
-
|
|
-check_lv_field_()
|
|
-{
|
|
- local lv=$1;
|
|
- local field=$2;
|
|
- local expected=$3;
|
|
- local actual;
|
|
-
|
|
- actual=$(lvs --noheadings -o $field $lv)
|
|
-if test "$verbose" = "t"
|
|
-then
|
|
- echo "check_lv_field_ LV=$lv, field=$field, actual=$actual, expected=$expected"
|
|
-fi
|
|
- test $actual = $expected
|
|
-}
|
|
-
|
|
-vg_validate_pvlv_counts_()
|
|
-{
|
|
- local local_vg=$1
|
|
- local num_pvs=$2
|
|
- local num_lvs=$3
|
|
- local num_snaps=$4
|
|
-
|
|
- check_vg_field_ $local_vg pv_count $num_pvs &&
|
|
- check_vg_field_ $local_vg lv_count $num_lvs &&
|
|
- check_vg_field_ $local_vg snap_count $num_snaps
|
|
-}
|
|
-
|
|
-dmsetup_has_dm_devdir_support_()
|
|
-{
|
|
- # Detect support for the envvar. If it's supported, the
|
|
- # following command will fail with the expected diagnostic.
|
|
- out=$(DM_DEV_DIR=j dmsetup version 2>&1)
|
|
- test "$?:$out" = "1:Invalid DM_DEV_DIR envvar value." ||
|
|
- test "$?:$out" = "1:Invalid DM_DEV_DIR environment variable value."
|
|
-}
|
|
-
|
|
-# set up private /dev and /etc
|
|
-init_root_dir_()
|
|
-{
|
|
- test -n "$test_dir_" \
|
|
- || fail_ "Internal error: called init_root_dir_ before" \
|
|
- "defining \$test_dir_"
|
|
-
|
|
- # Define these two globals.
|
|
- G_root_=$test_dir_/root
|
|
- G_dev_=$G_root_/dev
|
|
-
|
|
- export LVM_SYSTEM_DIR=$G_root_/etc
|
|
- export DM_DEV_DIR=$G_dev_
|
|
-
|
|
- # Only the first caller does anything.
|
|
- mkdir -p $G_root_/etc $G_dev_ $G_dev_/mapper $G_root_/lib
|
|
- for i in 0 1 2 3 4 5 6 7; do
|
|
- mknod $G_root_/dev/loop$i b 7 $i
|
|
- done
|
|
- for i in $abs_top_builddir/dmeventd/mirror/*.so $abs_top_builddir/dmeventd/snapshot/*.so
|
|
- do
|
|
- # NOTE: This check is necessary because the loop above will give us the value
|
|
- # "$abs_top_builddir/dmeventd/mirror/*.so" if no files ending in 'so' exist.
|
|
- # This is the best way I could quickly determine to skip over this bogus value.
|
|
- if [ -f $i ]; then
|
|
- echo Setting up symlink from $i to $G_root_/lib
|
|
- ln -s $i $G_root_/lib
|
|
- fi
|
|
- done
|
|
- cat > $G_root_/etc/lvm.conf <<-EOF
|
|
- devices {
|
|
- dir = "$G_dev_"
|
|
- scan = "$G_dev_"
|
|
- filter = [ "a/loop/", "a/mirror/", "a/mapper/", "r/.*/" ]
|
|
- cache_dir = "$G_root_/etc"
|
|
- sysfs_scan = 0
|
|
- }
|
|
- log {
|
|
- verbose = $verboselevel
|
|
- syslog = 0
|
|
- indent = 1
|
|
- }
|
|
- backup {
|
|
- backup = 0
|
|
- archive = 0
|
|
- }
|
|
- global {
|
|
- library_dir = "$G_root_/lib"
|
|
- }
|
|
-EOF
|
|
-}
|
|
-
|
|
-init_root_dir_
|
|
diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh
|
|
index 4b3c122..6721003 100644
|
|
--- a/tests/t-lib-helpers.sh
|
|
+++ b/tests/t-lib-helpers.sh
|
|
@@ -395,6 +395,6 @@ wait_for_dev_to_disappear_()
|
|
|
|
device_mapper_required_()
|
|
{
|
|
- . "$abs_top_srcdir/tests/lvm-utils.sh" \
|
|
- || fail_ "device mapper setup failed"
|
|
+ . "$abs_top_srcdir/tests/t-lvm.sh"
|
|
+ lvm_init_root_dir_ || fail_ "device mapper setup failed"
|
|
}
|
|
diff --git a/tests/t-local.sh b/tests/t-local.sh
|
|
index dde1b8d..b40a5a0 100644
|
|
--- a/tests/t-local.sh
|
|
+++ b/tests/t-local.sh
|
|
@@ -100,7 +100,7 @@ scsi_debug_setup_()
|
|
modprobe scsi_debug "$@" || { rm -f stamp; return 1; }
|
|
scsi_debug_modprobe_succeeded_=1
|
|
test "$VERBOSE" = yes \
|
|
- && warn_ $ME_ modprobe scsi_debug succeeded
|
|
+ && echo $ME_ modprobe scsi_debug succeeded 1>&2
|
|
|
|
# Wait up to 2s (via .1s increments) for the list of devices to change.
|
|
# Sleeping for a fraction of a second requires GNU sleep, so fall
|
|
diff --git a/tests/t-lvm.sh b/tests/t-lvm.sh
|
|
index b08f934..9cee155 100644
|
|
--- a/tests/t-lvm.sh
|
|
+++ b/tests/t-lvm.sh
|
|
@@ -1,7 +1,7 @@
|
|
# Put lvm-related utilities here.
|
|
# This file is sourced from test infrastructure.
|
|
|
|
-# Copyright (C) 2007, 2008, 2010 Red Hat, Inc. All rights reserved.
|
|
+# Copyright (C) 2007-2012 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This copyrighted material is made available to anyone wishing to use,
|
|
# modify, copy, or redistribute it subject to the terms and conditions
|
|
@@ -13,15 +13,12 @@
|
|
|
|
export LVM_SUPPRESS_FD_WARNINGS=1
|
|
|
|
-ME=$(basename "$0")
|
|
-warn() { echo >&2 "$ME: $@"; }
|
|
-
|
|
unsafe_losetup_()
|
|
{
|
|
f=$1
|
|
|
|
test -n "$G_dev_" \
|
|
- || error "Internal error: unsafe_losetup_ called before init_root_dir_"
|
|
+ || fail_ "Internal error: unsafe_losetup_ called before init_root_dir_"
|
|
|
|
# Iterate through $G_dev_/loop{,/}{0,1,2,3,4,5,6,7,8,9}
|
|
for slash in '' /; do
|
|
@@ -40,11 +37,11 @@ loop_setup_()
|
|
{
|
|
file=$1
|
|
dd if=/dev/zero of="$file" bs=1M count=1 seek=1000 > /dev/null 2>&1 \
|
|
- || { warn "loop_setup_ failed: Unable to create tmp file $file"; return 1; }
|
|
+ || { warn_ "loop_setup_ failed: Unable to create tmp file $file"; return 1; }
|
|
|
|
# NOTE: this requires a new enough version of losetup
|
|
dev=$(unsafe_losetup_ "$file" 2>/dev/null) \
|
|
- || { warn "loop_setup_ failed: Unable to create loopback device"; return 1; }
|
|
+ || { warn_ "loop_setup_ failed: Unable to create loopback device"; return 1; }
|
|
|
|
echo "$dev"
|
|
return 0;
|
|
diff --git a/tests/t9030-align-check.sh b/tests/t9030-align-check.sh
|
|
index b3618a7..f0830f0 100644
|
|
--- a/tests/t9030-align-check.sh
|
|
+++ b/tests/t9030-align-check.sh
|
|
@@ -49,7 +49,8 @@ while :; do
|
|
test $i = 70 && break
|
|
|
|
# Wait up to 10s for the partition file to disappear.
|
|
- wait_for_dev_to_disappear_ $p1 10 || { fail=1; warn $p1 failed to disappear; }
|
|
+ wait_for_dev_to_disappear_ $p1 10 \
|
|
+ || { fail=1; warn_ $ME_ $p1 failed to disappear; }
|
|
done
|
|
|
|
Exit $fail
|
|
--
|
|
1.9.3
|
|
|