Module Name: src
Committed By: oster
Date: Fri Jul 29 19:57:38 UTC 2011
Modified Files:
src/tests/dev/raidframe: t_raid.sh
Log Message:
Note that PR kern/44251 is fixed.
Add tests for normal configuration of RAID 1 and RAID 5 sets.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/tests/dev/raidframe/t_raid.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/dev/raidframe/t_raid.sh
diff -u src/tests/dev/raidframe/t_raid.sh:1.8 src/tests/dev/raidframe/t_raid.sh:1.9
--- src/tests/dev/raidframe/t_raid.sh:1.8 Sat May 14 17:42:28 2011
+++ src/tests/dev/raidframe/t_raid.sh Fri Jul 29 19:57:38 2011
@@ -1,4 +1,5 @@
-# $NetBSD: t_raid.sh,v 1.8 2011/05/14 17:42:28 jmmv Exp $
+#! /usr/bin/atf-sh
+# $NetBSD: t_raid.sh,v 1.9 2011/07/29 19:57:38 oster Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -125,7 +126,8 @@
atf_test_case raid1_comp0fail cleanup
raid1_comp0fail_head()
{
- atf_set "descr" "Checks configuring RAID1 after component 0 fails"
+ atf_set "descr" "Checks configuring RAID1 after component 0 fails" \
+ "(PR kern/44251)"
}
raid1_comp0fail_body()
@@ -144,12 +146,11 @@
# restart server with failed component
rump.halt
rm disk0.img # FAIL
- atf_check -s exit:0 ${raidserver} \
+ atf_check -s exit:0 ${raidserver} \
-d key=/disk0,hostpath=disk0.img,size=${RAID_MEDIASIZE} \
-d key=/disk1,hostpath=disk1.img,size=${RAID_MEDIASIZE} \
${RUMP_SERVER}
- atf_expect_fail "PR kern/44251"
atf_check -s exit:0 rump.raidctl -c raid.conf raid0
}
@@ -159,6 +160,53 @@
rump.halt
}
+atf_test_case raid1_normal cleanup
+raid1_normal_head()
+{
+ atf_set "descr" "Checks that RAID1 -c configurations work " \
+ "in the normal case"
+}
+
+raid1_normal_body()
+{
+ makecfg 1 2
+ atf_check -s exit:0 ${raidserver} \
+ -d key=/disk0,hostpath=disk0.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk1,hostpath=disk1.img,size=${RAID_MEDIASIZE} \
+ ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.raidctl -C raid.conf raid0
+ atf_check -s exit:0 rump.raidctl -I 12345 raid0
+ atf_check -s exit:0 -o ignore rump.raidctl -iv raid0
+
+ # put some data there
+ atf_check -s exit:0 -e ignore \
+ dd if=$(atf_get_srcdir)/t_raid of=testfile count=4
+ atf_check -s exit:0 -e ignore -x \
+ "dd if=testfile | rump.dd of=${rawraid} conv=sync"
+
+ # restart server, disks remain normal
+ rump.halt
+
+ atf_check -s exit:0 ${raidserver} \
+ -d key=/disk0,hostpath=disk0.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk1,hostpath=disk1.img,size=${RAID_MEDIASIZE} \
+ ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.raidctl -c raid.conf raid0
+
+ # check if we we get what we wrote
+ atf_check -s exit:0 -o file:testfile -e ignore \
+ rump.dd if=${rawraid} count=4
+
+}
+
+raid1_comp0fail_cleanup()
+{
+ export RUMP_SERVER=unix://sock
+ rump.halt
+}
+
atf_test_case raid5_compfail cleanup
raid5_compfail_head()
@@ -208,11 +256,61 @@
rump.halt
}
+atf_test_case raid5_normal cleanup
+raid5_normal_head()
+{
+ atf_set "descr" "Checks that RAID5 works after normal shutdown " \
+ "and 'raidctl -c' startup"
+}
+
+raid5_normal_body()
+{
+ makecfg 5 3
+ export RUMP_SERVER=unix://sock
+ atf_check -s exit:0 ${raidserver} \
+ -d key=/disk0,hostpath=disk0.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk1,hostpath=disk1.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk2,hostpath=disk2.img,size=${RAID_MEDIASIZE} \
+ ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.raidctl -C raid.conf raid0
+ atf_check -s exit:0 rump.raidctl -I 12345 raid0
+ atf_check -s exit:0 -o ignore rump.raidctl -iv raid0
+
+ # put some data there
+ atf_check -s exit:0 -e ignore \
+ dd if=$(atf_get_srcdir)/t_raid of=testfile count=4
+ atf_check -s exit:0 -e ignore -x \
+ "dd if=testfile | rump.dd of=${rawraid} conv=sync"
+
+ # restart server after normal shutdown
+ rump.halt
+
+ atf_check -s exit:0 ${raidserver} \
+ -d key=/disk0,hostpath=disk0.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk1,hostpath=disk1.img,size=${RAID_MEDIASIZE} \
+ -d key=/disk2,hostpath=disk2.img,size=${RAID_MEDIASIZE} \
+ ${RUMP_SERVER}
+
+ atf_check -s exit:0 rump.raidctl -c raid.conf raid0
+
+ # check if we we get what we wrote
+ atf_check -s exit:0 -o file:testfile -e ignore \
+ rump.dd if=${rawraid} count=4
+}
+
+raid5_normal_cleanup()
+{
+ export RUMP_SERVER=unix://sock
+ rump.halt
+}
atf_init_test_cases()
{
atf_add_test_case smalldisk
+ atf_add_test_case raid1_normal
atf_add_test_case raid1_comp0fail
atf_add_test_case raid1_compfail
+ atf_add_test_case raid5_normal
atf_add_test_case raid5_compfail
}