From: Jim Meyering <meyering@redhat.com>
Date: Sat, 29 Sep 2012 12:10:35 +0200
Subject: tests: clean up tests
For: upstream code
Patch-mainline: v3.2
Git-commit: c987c73cbe773dfa3b14b911ffc243137195bbb3

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.

Acked-by: Sebastian Parschauer <sparschauer@suse.de>
---
 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 96abecb4d31a..80d5525a267f 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 456d26507cb3..000000000000
--- 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 4b3c122f0a02..672100356a93 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 dde1b8d5b73f..b40a5a0ebbf5 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 b08f934e3ee5..9cee1552de8a 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 b3618a71be14..f0830f007743 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
