2007-09-18 18:01:46 +04:00
#!/bin/sh
2007-09-18 18:02:22 +04:00
# Copyright (C) 2007 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
2007-09-18 18:01:46 +04:00
test_description = 'Exercise some lvcreate diagnostics'
privileges_required_ = 1
. ./test-lib.sh
cleanup_( )
{
test -n " $vg " && {
vgchange -an " $vg "
lvremove -ff " $vg "
vgremove " $vg "
2007-09-18 18:02:22 +04:00
} > " $test_dir_ /cleanup.log "
2007-09-18 18:01:46 +04:00
test -n " $d1 " && losetup -d " $d1 "
test -n " $d2 " && losetup -d " $d2 "
rm -f " $f1 " " $f2 "
}
test_expect_success \
'set up temp files, loopback devices, PVs, and a VG' \
2007-09-24 23:19:18 +04:00
' f1 = $( pwd ) /1 && d1 = $( loop_setup_ " $f1 " ) &&
f2 = $( pwd ) /2 && d2 = $( loop_setup_ " $f2 " ) &&
2007-10-09 17:13:06 +04:00
pvcreate $d1 $d2 &&
vg = $( this_test_) -test-vg-$$ &&
2007-09-18 18:01:46 +04:00
vgcreate $vg $d1 $d2 '
lv = lvcreate-usage-$$
test_expect_success \
2008-01-17 21:05:57 +03:00
'lvcreate rejects a negative stripe_size' \
2007-10-09 17:13:06 +04:00
' lvcreate -L 64M -n $lv -i2 --stripesize -4 $vg 2>err;
status = $? ; echo status = $? ; test $status = 3 &&
2007-09-18 18:01:46 +04:00
grep "^ Negative stripesize is invalid\$" err'
test_expect_success \
2007-09-18 18:02:22 +04:00
'lvcreate rejects a too-large stripesize' \
2007-09-18 18:01:46 +04:00
' lvcreate -L 64M -n $lv -i2 --stripesize 4294967291 $vg 2>err; test $? = 3 &&
grep "^ Stripe size cannot be larger than 512.00 GB\$" err'
test_expect_success \
'lvcreate w/single stripe succeeds with diagnostics to stdout' \
' lvcreate -L 64M -n $lv -i1 --stripesize 4 $vg >out 2>err &&
grep "^ Redundant stripes argument: default is 1\$" out &&
grep "^ Ignoring stripesize argument with single stripe\$" out &&
lvdisplay $vg &&
lvremove -ff $vg '
test_expect_success \
2008-01-17 21:05:57 +03:00
'lvcreate w/default (64KB) stripe size succeeds with diagnostics to stdout' \
2007-09-18 18:01:46 +04:00
' lvcreate -L 64M -n $lv -i2 $vg > out &&
grep "^ Using default stripesize" out &&
lvdisplay $vg &&
2008-01-17 21:05:57 +03:00
check_lv_field_ $vg /$lv stripesize "64.00K" &&
2007-09-18 18:01:46 +04:00
lvremove -ff $vg '
test_expect_success \
2007-09-18 18:02:22 +04:00
'lvcreate rejects an invalid number of stripes' \
2007-09-18 18:01:46 +04:00
' lvcreate -L 64M -n $lv -i129 $vg 2>err; test $? = 3 &&
grep "^ Number of stripes (129) must be between 1 and 128\$" err'
# The case on lvdisplay output is to verify that the LV was not created.
test_expect_success \
2007-09-18 18:02:22 +04:00
'lvcreate rejects an invalid stripe size' \
2007-09-18 18:01:46 +04:00
' lvcreate -L 64M -n $lv -i2 --stripesize 3 $vg 2>err; test $? = 3 &&
grep "^ Invalid stripe size 3\.00 KB\$" err &&
2007-09-24 23:19:18 +04:00
case $( lvdisplay $vg ) in "" ) true ; ; *) false ; ; esac '
2007-09-18 18:01:46 +04:00
test_done
# Local Variables:
# indent-tabs-mode: nil
# End: