xref: /openbsd/regress/sbin/newfs/checknewfs (revision 404b540a)
1#!/bin/ksh
2#	$OpenBSD: checknewfs,v 1.3 2009/04/26 21:32:31 okan Exp $
3# Written by Otto Moerbeek, 2007,  Public domain
4
5
6cleanup() {
7	vnconfig -u svnd0
8	rm -f $image
9}
10
11trap 'cleanup' INT
12
13dotest() {
14	image=$(mktemp -t imageXXXXXXXXXX);
15	dd if=/dev/prandom of=$image bs=512 count=$1 2>/dev/null &&
16	vnconfig svnd0 $image &&
17	disklabel -w svnd0 $2 &&
18	newfs $3 /dev/rsvnd0a
19	if [ $? != 0 ]; then
20		ret=$(($ret + 1))
21		echo TEST $1 $2 \"$3\" failed
22	else
23		(fsck -nf /dev/svnd0a | fgrep SALVAGE)
24		if [ $? == 0 ]; then
25			ret=$(($ret + 1))
26			echo TEST $1 $2 \"$3\" failed
27		else
28			echo TEST $1 $2 \"$3\" OK
29		fi
30	fi
31	echo ==========================
32	if [ $clean == 1 ]; then
33		cleanup
34	fi
35}
36
37ret=0
38
39vnconfig -u svnd0 > /dev/null 2>&1
40if [ $# == 0 ]; then
41	clean=1
42	dotest 3800 rdroot "-m 0 -o space -i 4096"
43	dotest 5760 floppy288 "-m 0 -o space -i 81920 -c 5760"
44	dotest 5760 floppy288 "-m 0 -o space -i 81920 -c 5752"
45	dotest 5760 floppy288 "-m 0 -o space -i 524288 -c 5760"
46	dotest 5760 floppy288 "-m 0 -o space -i 524288 -c 5761"
47	dotest 2880 floppy3 "-m 0 -o space -i 81920"
48	dotest 2880 floppy3 "-m 0 -o space -i 81920 -c 2880"
49	dotest 2880 floppy3 "-m 0 -o space -i 524288 -c 2880"
50else
51	clean=0
52	dotest "${@}"
53fi
54
55exit $ret
56