xref: /netbsd-src/tests/dev/raidframe/t_raid.sh (revision a918a7462885ac856b1d6a73baf08277fe78d18a)
1#	$NetBSD: t_raid.sh,v 1.1 2010/12/15 20:40:18 pooka Exp $
2#
3# Copyright (c) 2010 The NetBSD Foundation, Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10#    notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12#    notice, this list of conditions and the following disclaimer in the
13#    documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25# POSSIBILITY OF SUCH DAMAGE.
26#
27
28makecfg()
29{
30	level=${1}
31	ncol=${2}
32
33	printf "START array\n1 ${ncol} 0\nSTART disks\n" > raid.conf
34	diskn=0
35	while [ ${ncol} -gt ${diskn} ] ; do
36		echo "/disk${diskn}" >> raid.conf
37		diskn=$((diskn+1))
38	done
39
40	printf "START layout\n32 1 1 ${level}\nSTART queue\nfifo 100\n" \
41	    >> raid.conf
42}
43
44atf_test_case smalldisk cleanup
45raid1fail_head()
46{
47
48	atf_set "descr" "Checks the raidframe works on small disks"
49}
50
51smalldisk_body()
52{
53
54	makecfg 1 2
55	export RUMP_SERVER=unix://sock
56	atf_check -s exit:0 rump_allserver			\
57	    -d key=/disk0,hostpath=disk0.img,size=1m		\
58	    -d key=/disk1,hostpath=disk1.img,size=1m		\
59	    ${RUMP_SERVER}
60
61	atf_expect_fail "PR kern/44239" # ADJUST CLEANUP WHEN THIS IS FIXED!
62	atf_check -s exit:0 rump.raidctl -C raid.conf raid0
63}
64
65smalldisk_cleanup()
66{
67
68	export RUMP_SERVER=unix://sock
69	rump.halt
70	: server dumps currently, so reset error.  remove this line when fixed
71}
72
73atf_init_test_cases()
74{
75
76	atf_add_test_case smalldisk
77}
78