diff options
| author | pooka <pooka@NetBSD.org> | 2010-12-15 20:37:52 +0000 |
|---|---|---|
| committer | pooka <pooka@NetBSD.org> | 2010-12-15 20:37:52 +0000 |
| commit | ea2d33c8fa96d5fd73d80b8c505ade1ab97a4be6 (patch) | |
| tree | 3f3346dbab452a666bd5d000e5f9938e8c270287 /tests/dev | |
| parent | 5935321424a4849f510c3503ed6b5eabcc21e47d (diff) | |
Add first raidframe tests. This is the test for the kernel fault
described in PR kern/44239
Diffstat (limited to 'tests/dev')
| -rw-r--r-- | tests/dev/Makefile | 4 | ||||
| -rw-r--r-- | tests/dev/raid/Makefile | 8 | ||||
| -rw-r--r-- | tests/dev/raid/t_raid.sh | 77 |
3 files changed, 87 insertions, 2 deletions
diff --git a/tests/dev/Makefile b/tests/dev/Makefile index e5a273b06d1..82204c5df6c 100644 --- a/tests/dev/Makefile +++ b/tests/dev/Makefile @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.5 2010/11/23 15:38:54 pooka Exp $ +# $NetBSD: Makefile,v 1.6 2010/12/15 20:37:52 pooka Exp $ # .include <bsd.own.mk> TESTSDIR= ${TESTSBASE}/dev -TESTS_SUBDIRS+= audio cgd md scsipi sysmon +TESTS_SUBDIRS+= audio cgd md raid scsipi sysmon .include <bsd.test.mk> diff --git a/tests/dev/raid/Makefile b/tests/dev/raid/Makefile new file mode 100644 index 00000000000..e31dbbeda5f --- /dev/null +++ b/tests/dev/raid/Makefile @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1 2010/12/15 20:37:52 pooka Exp $ +# + +TESTSDIR= ${TESTSBASE}/dev/raid + +TESTS_SH= t_raid + +.include <bsd.test.mk> diff --git a/tests/dev/raid/t_raid.sh b/tests/dev/raid/t_raid.sh new file mode 100644 index 00000000000..fa3dcb8f33f --- /dev/null +++ b/tests/dev/raid/t_raid.sh @@ -0,0 +1,77 @@ +# $NetBSD: t_raid.sh,v 1.1 2010/12/15 20:37:52 pooka Exp $ +# +# Copyright (c) 2010 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +makecfg() +{ + level=${1} + ncol=${2} + + printf "START array\n1 ${ncol} 0\nSTART disks\n" > raid.conf + diskn=0 + while [ ${ncol} -gt ${diskn} ] ; do + echo "/disk${diskn}" >> raid.conf + diskn=$((diskn+1)) + done + + printf "START layout\n32 1 1 ${level}\nSTART queue\nfifo 100\n" \ + >> raid.conf +} + +atf_test_case smalldisk cleanup +raid1fail_head() +{ + + atf_set "descr" "Checks the raidframe works on small disks" +} + +smalldisk_body() +{ + + makecfg 1 2 + export RUMP_SERVER=unix://sock + atf_check -s exit:0 rump_allserver \ + -d key=/disk0,hostpath=disk0.img,size=1m \ + -d key=/disk1,hostpath=disk1.img,size=1m \ + ${RUMP_SERVER} + + atf_expect_fail "PR kern/44239" # ADJUST CLEANUP WHEN THIS IS FIXED! + atf_check -s exit:0 rump.raidctl -C raid.conf raid0 +} + +smalldisk_cleanup() +{ + + export RUMP_SERVER=unix://sock + rump.halt + : server dumps currently, so reset error. remove this line when fixed +} + +atf_init_test_cases() +{ + + atf_add_test_case smalldisk +} |
