This is the mail archive of the lvm2-cvs@sourceware.org mailing list for the LVM2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LVM2/test t-pvchange-usage.sh t-vgreduce-usage.sh


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2008-08-12 10:04:31

Added files:
	test           : t-pvchange-usage.sh t-vgreduce-usage.sh 

Log message:
	add tests for pvchange and vgreduce usage (Jaroslav Stava)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-pvchange-usage.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-vgreduce-usage.sh.diff?cvsroot=lvm2&r1=NONE&r2=1.1

/cvs/lvm2/LVM2/test/t-pvchange-usage.sh,v  -->  standard output
revision 1.1
--- LVM2/test/t-pvchange-usage.sh
+++ -	2008-08-12 10:04:31.553888000 +0000
@@ -0,0 +1,95 @@
+#!/bin/sh
+# Copyright (C) 2008 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
+
+test_description='Test pvchange option values'
+privileges_required_=1
+
+. ./test-lib.sh
+
+cleanup_()
+{
+  test -n "$d1" && losetup -d "$d1"
+  test -n "$d2" && losetup -d "$d2"
+  test -n "$d3" && losetup -d "$d3"
+  test -n "$d4" && losetup -d "$d4"
+  rm -f "$f1" "$f2" "$f3" "$f4"
+}
+
+test_expect_success \
+  'set up temp files, loopback devices, PVs, vgname' \
+  'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1") &&
+   f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") &&
+   f3=$(pwd)/3 && d3=$(loop_setup_ "$f3") &&
+   f4=$(pwd)/4 && d4=$(loop_setup_ "$f4") &&
+   vg1=$(this_test_)-test-vg1-$$ &&
+   lv=$(this_test_)-test-lv-$$'
+
+for mda in 0 1 2 
+do
+test_expect_success \
+  "setup pv with metadatacopies = $mda" '
+   pvcreate $d4 &&
+   pvcreate --metadatacopies $mda $d1 &&
+   vgcreate $vg1 $d1 $d4 
+'
+
+test_expect_success \
+  "pvchange adds/dels tag to pvs with metadatacopies = $mda " '
+   pvchange $d1 --addtag test$mda &&
+   check_pv_field_ $d1 pv_tags test$mda &&
+   pvchange $d1 --deltag test$mda &&
+   check_pv_field_ $d1 pv_tags " "
+'
+
+test_expect_success \
+  "vgchange disable/enable allocation for pvs with metadatacopies = $mda" '
+   pvchange $d1 -x n &&
+   check_pv_field_ $d1 pv_attr  --  &&
+   pvchange $d1 -x y &&
+   check_pv_field_ $d1 pv_attr  a- 
+'
+
+test_expect_success \
+  'remove pv' '
+   vgremove $vg1 &&
+   pvremove $d1 $d4
+'
+done
+
+test_expect_success \
+  "pvchange uuid" "
+   pvcreate --metadatacopies 0 $d1 &&
+   pvcreate --metadatacopies 2 $d2 &&
+   vgcreate $vg1 $d1 $d2 &&
+   pvchange -u $d1 &&
+   pvchange -u $d2 &&
+   vg_validate_pvlv_counts_ $vg1 2 0 0
+"
+test_expect_success \
+  "pvchange rejects uuid change under an active lv" '
+   lvcreate -l 16 -i 2 -n $lv --alloc anywhere $vg1 &&
+   vg_validate_pvlv_counts_ $vg1 2 1 0 &&
+   pvchange -u $d1;
+   status=$?; echo status=$status; test $status = 5 &&
+   lvchange -an "$vg1"/"$lv" &&
+   pvchange -u $d1
+'
+
+test_expect_success \
+  "cleanup" '
+   lvremove -f "$vg1"/"$lv" &&
+   vgremove $vg1
+'
+
+test_done
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
/cvs/lvm2/LVM2/test/t-vgreduce-usage.sh,v  -->  standard output
revision 1.1
--- LVM2/test/t-vgreduce-usage.sh
+++ -	2008-08-12 10:04:31.636950000 +0000
@@ -0,0 +1,90 @@
+#!/bin/sh
+# Copyright (C) 2008 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
+
+test_description='Test vgreduce command options for validity'
+privileges_required_=1
+
+. ./test-lib.sh
+
+cleanup_()
+{
+  test -n "$d1" && losetup -d "$d1"
+  test -n "$d2" && losetup -d "$d2"
+  test -n "$d3" && losetup -d "$d3"
+  test -n "$d4" && losetup -d "$d4"
+  rm -f "$f1" "$f2" "$f3" "$f4"
+}
+
+test_expect_success \
+  'set up temp files, loopback devices, PVs, vgnames' \
+  'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1") &&
+   f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") &&
+   f3=$(pwd)/3 && d3=$(loop_setup_ "$f3") &&
+   f4=$(pwd)/4 && d4=$(loop_setup_ "$f4") &&
+   vg1=$(this_test_)-test-vg1-$$          &&
+   vg2=$(this_test_)-test-vg2-$$          &&
+   lv1=$(this_test_)-test-lv1-$$          &&
+   lv2=$(this_test_)-test-lv2-$$          &&
+   lv3=$(this_test_)-test-lv3-$$'
+
+
+for mdatype in 1 2
+do
+test_expect_success \
+  "(lvm$mdatype) setup PVs" '
+  pvcreate -M$mdatype $d1 $d2 
+'
+
+test_expect_success \
+  "(lvm$mdatype) vgreduce rejects removing the last pv (--all)" '
+   vgcreate -M$mdatype $vg1 $d1 $d2 &&
+   vgreduce --all $vg1  2>err;
+   vgremove -f $vg1
+'
+   #status=$?; echo status=$status; test $status = 5 &&
+
+test_expect_success \
+  "(lvm$mdatype) vgreduce rejects removing the last pv" '
+   vgcreate -M$mdatype $vg1 $d1 $d2 &&
+   vgreduce $vg1 $d1 $d2 2>err;
+   status=$?; echo status=$status; test $status = 5 &&
+   vgremove -f $vg1
+'
+
+test_expect_success \
+  "(lvm$mdatype) remove PVs " '
+  pvremove -ff $d1 $d2 
+'
+done
+
+## TODO --mirrorsonly ?
+for mdatype in 2
+do
+test_expect_success \
+  "(lvm$mdatype) setup PVs (--metadatacopies 0)" '
+  pvcreate -M$mdatype $d1 $d2 
+  pvcreate --metadatacopies 0 -M$mdatype $d3 $d4
+'
+
+test_expect_success \
+  "(lvm$mdatype) vgreduce rejects removing pv with the last mda copy" '
+   vgcreate -M$mdatype $vg1 $d1 $d3 &&
+   vgreduce $vg1 $d1 2>err;
+   status=$?; echo status=$status; test $status != 0 &&
+   vgremove -f $vg1
+'
+done
+
+
+test_done
+# Local Variables:
+# indent-tabs-mode: nil
+# End:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]