diff options
author | Petr Rockai <prockai@redhat.com> | 2011-11-21 00:15:42 +0000 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2011-11-21 00:15:42 +0000 |
commit | f2a3f0fe3dfb34b9d7344fae51083c392cfba8a8 (patch) | |
tree | 9009837b943364a498499117934d47c9439db3d6 /test/shell/vgmerge-operation.sh | |
parent | cfe1ec8d1faa249fa86d0be27b41ac2b26736fe8 (diff) | |
download | lvm2-f2a3f0fe3dfb34b9d7344fae51083c392cfba8a8.tar.gz lvm2-f2a3f0fe3dfb34b9d7344fae51083c392cfba8a8.tar.xz lvm2-f2a3f0fe3dfb34b9d7344fae51083c392cfba8a8.zip |
Tidy the shell tests into their own subdir. We now have:
- test/lib -- infrastructure and helper code
- test/api -- liblvm2app API tests
- test/unit -- C-based unit tests
- test/shell -- shell-based functional tests
Diffstat (limited to 'test/shell/vgmerge-operation.sh')
-rw-r--r-- | test/shell/vgmerge-operation.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test/shell/vgmerge-operation.sh b/test/shell/vgmerge-operation.sh new file mode 100644 index 00000000..73099b2e --- /dev/null +++ b/test/shell/vgmerge-operation.sh @@ -0,0 +1,81 @@ +#!/bin/sh +# Copyright (C) 2007-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 vgmerge operation' + +. lib/test + +aux prepare_pvs 4 64 + +# 'vgmerge succeeds with single linear LV in source VG' +vgcreate -c n $vg1 $dev1 $dev2 +vgcreate -c n $vg2 $dev3 $dev4 +lvcreate -l 4 -n $lv1 $vg1 $dev1 +vgchange -an $vg1 +check pvlv_counts $vg1 2 1 0 +check pvlv_counts $vg2 2 0 0 +vgmerge $vg2 $vg1 +check pvlv_counts $vg2 4 1 0 +vgremove -f $vg2 + +# 'vgmerge succeeds with single linear LV in source and destination VG' +vgcreate -c n $vg1 $dev1 $dev2 +vgcreate -c n $vg2 $dev3 $dev4 +lvcreate -l 4 -n $lv1 $vg1 +lvcreate -l 4 -n $lv2 $vg2 +vgchange -an $vg1 +vgchange -an $vg2 +check pvlv_counts $vg1 2 1 0 +check pvlv_counts $vg2 2 1 0 +vgmerge $vg2 $vg1 +check pvlv_counts $vg2 4 2 0 +vgremove -f $vg2 + +# 'vgmerge succeeds with linear LV + snapshots in source VG' +vgcreate -c n $vg1 $dev1 $dev2 +vgcreate -c n $vg2 $dev3 $dev4 +lvcreate -l 16 -n $lv1 $vg1 +lvcreate -l 4 -s -n $lv2 $vg1/$lv1 +vgchange -an $vg1 +check pvlv_counts $vg1 2 2 1 +check pvlv_counts $vg2 2 0 0 +vgmerge $vg2 $vg1 +check pvlv_counts $vg2 4 2 1 +lvremove -f $vg2/$lv2 +vgremove -f $vg2 + +# 'vgmerge succeeds with mirrored LV in source VG' +vgcreate -c n $vg1 $dev1 $dev2 $dev3 +vgcreate -c n $vg2 $dev4 +lvcreate -l 4 -n $lv1 -m1 $vg1 +vgchange -an $vg1 +check pvlv_counts $vg1 3 1 0 +check pvlv_counts $vg2 1 0 0 +vgmerge $vg2 $vg1 +check pvlv_counts $vg2 4 1 0 +lvremove -f $vg2/$lv1 +vgremove -f $vg2 + +# 'vgmerge rejects LV name collision' +vgcreate -c n $vg1 $dev1 $dev2 +vgcreate -c n $vg2 $dev3 $dev4 +lvcreate -l 4 -n $lv1 $vg1 +lvcreate -l 4 -n $lv1 $vg2 +vgchange -an $vg1 +check pvlv_counts $vg1 2 1 0 +check pvlv_counts $vg2 2 1 0 +not vgmerge $vg2 $vg1 2>err +grep "Duplicate logical volume name \"$lv1\" in \"$vg2\" and \"$vg1" err +check pvlv_counts $vg1 2 1 0 +check pvlv_counts $vg2 2 1 0 +vgremove -f $vg1 +vgremove -f $vg2 + |