xref: /aosp_15_r20/external/e2fsprogs/lib/blkid/test_probe.in (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker
2*6a54128fSAndroid Build Coastguard WorkerTESTS=$*
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard Workerif test "$TESTS"x = x ; then
5*6a54128fSAndroid Build Coastguard Worker	for i in $SRCDIR/tests/*.img.bz2
6*6a54128fSAndroid Build Coastguard Worker	do
7*6a54128fSAndroid Build Coastguard Worker		TESTS="$TESTS `basename $i .img.bz2`"
8*6a54128fSAndroid Build Coastguard Worker	done
9*6a54128fSAndroid Build Coastguard Workerfi
10*6a54128fSAndroid Build Coastguard Worker
11*6a54128fSAndroid Build Coastguard Workermkdir -p tests/tmp
12*6a54128fSAndroid Build Coastguard Worker
13*6a54128fSAndroid Build Coastguard Workerfor i in $TESTS
14*6a54128fSAndroid Build Coastguard Workerdo
15*6a54128fSAndroid Build Coastguard Worker	printf "%s: " $i
16*6a54128fSAndroid Build Coastguard Worker	RESULTS=$SRCDIR/tests/$i.results
17*6a54128fSAndroid Build Coastguard Worker	IMAGE_BZ2=$SRCDIR/tests/$i.img.bz2
18*6a54128fSAndroid Build Coastguard Worker	IMAGE=tests/tmp/$i.img.$$
19*6a54128fSAndroid Build Coastguard Worker	if test ! -f $IMAGE_BZ2 -a ! -f $RESULTS ;
20*6a54128fSAndroid Build Coastguard Worker	then
21*6a54128fSAndroid Build Coastguard Worker		echo "non-existent"
22*6a54128fSAndroid Build Coastguard Worker		continue
23*6a54128fSAndroid Build Coastguard Worker	fi
24*6a54128fSAndroid Build Coastguard Worker	if [ "$i" = "swap0" ] && which mkswap > /dev/null;  then
25*6a54128fSAndroid Build Coastguard Worker		# swap is native-endian, so regenerate before testing
26*6a54128fSAndroid Build Coastguard Worker		dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null
27*6a54128fSAndroid Build Coastguard Worker		mkswap -v0 $IMAGE > /dev/null
28*6a54128fSAndroid Build Coastguard Worker	elif [ "$i" = "swap1" ] && which mkswap > /dev/null; then
29*6a54128fSAndroid Build Coastguard Worker		# swap is native-endian, so regenerate before testing
30*6a54128fSAndroid Build Coastguard Worker		dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null
31*6a54128fSAndroid Build Coastguard Worker		# check if mkswap supports the "-U" option
32*6a54128fSAndroid Build Coastguard Worker		if mkswap -h 2>&1 | grep -q -- '-U'; then
33*6a54128fSAndroid Build Coastguard Worker			UUID="-U 8ff8e77f-8553-485e-8656-58be67a81666"
34*6a54128fSAndroid Build Coastguard Worker		else
35*6a54128fSAndroid Build Coastguard Worker			RMUUID="| grep -v UUID"
36*6a54128fSAndroid Build Coastguard Worker			RES_TMP=$SRCDIR/tests/tmp/$i.results
37*6a54128fSAndroid Build Coastguard Worker			grep -v UUID $RESULTS > $RES_TMP
38*6a54128fSAndroid Build Coastguard Worker			RESULTS=$RES_TMP
39*6a54128fSAndroid Build Coastguard Worker		fi
40*6a54128fSAndroid Build Coastguard Worker		mkswap -v1 -L SWAP-TEST $UUID $IMAGE >/dev/null
41*6a54128fSAndroid Build Coastguard Worker	else
42*6a54128fSAndroid Build Coastguard Worker		bunzip2 < $IMAGE_BZ2 > $IMAGE
43*6a54128fSAndroid Build Coastguard Worker	fi
44*6a54128fSAndroid Build Coastguard Worker	eval ./tst_probe $IMAGE $RMUUID > tests/$i.out
45*6a54128fSAndroid Build Coastguard Worker	rm -f $IMAGE tests/$i.ok tests/$i.failed
46*6a54128fSAndroid Build Coastguard Worker	cmp -s tests/$i.out $RESULTS
47*6a54128fSAndroid Build Coastguard Worker	unset RMUUID
48*6a54128fSAndroid Build Coastguard Worker	if [ $? = 0 ];  then
49*6a54128fSAndroid Build Coastguard Worker		echo ok
50*6a54128fSAndroid Build Coastguard Worker		touch tests/$i.ok
51*6a54128fSAndroid Build Coastguard Worker	else
52*6a54128fSAndroid Build Coastguard Worker		echo failed
53*6a54128fSAndroid Build Coastguard Worker		diff -c tests/$i.out $RESULTS > tests/$i.failed
54*6a54128fSAndroid Build Coastguard Worker	fi
55*6a54128fSAndroid Build Coastguard Workerdone
56*6a54128fSAndroid Build Coastguard Worker
57*6a54128fSAndroid Build Coastguard Workernum_ok=`ls tests/*.ok 2>/dev/null | wc -l`
58*6a54128fSAndroid Build Coastguard Workernum_failed=`ls tests/*.failed 2>/dev/null | wc -l`
59*6a54128fSAndroid Build Coastguard Worker
60*6a54128fSAndroid Build Coastguard Workerecho "$num_ok tests succeeded	$num_failed tests failed"
61*6a54128fSAndroid Build Coastguard Worker
62*6a54128fSAndroid Build Coastguard Workertest "$num_failed" -eq 0 || exit 1
63