xref: /freebsd/tests/sys/geom/class/virstor/conf.sh (revision 7affbeeab1c99685012df0d72df2d7a87e09e472)
1*7affbeeaSRyan Libby#!/bin/sh
2*7affbeeaSRyan Libby
3*7affbeeaSRyan Libbyclass="virstor"
4*7affbeeaSRyan Libbybase=$(atf_get ident)
5*7affbeeaSRyan LibbyTEST_VIRSTOR_DEVS_FILE="${TMPDIR}/test_virstor_devs.$(basename $0)"
6*7affbeeaSRyan Libby
7*7affbeeaSRyan Libbygvirstor_dev_setup()
8*7affbeeaSRyan Libby{
9*7affbeeaSRyan Libby	# Pick a random name and record it for cleanup.
10*7affbeeaSRyan Libby	local vdevbase="$(mktemp -u virstor.XXXXXX)" || aft_fail "mktemp"
11*7affbeeaSRyan Libby	echo "$vdevbase" >> "$TEST_VIRSTOR_DEVS_FILE"
12*7affbeeaSRyan Libby	eval "${1}='${vdevbase}'"
13*7affbeeaSRyan Libby}
14*7affbeeaSRyan Libby
15*7affbeeaSRyan Libbygvirstor_test_cleanup()
16*7affbeeaSRyan Libby{
17*7affbeeaSRyan Libby	local vdevbase
18*7affbeeaSRyan Libby	if [ -f "$TEST_VIRSTOR_DEVS_FILE" ]; then
19*7affbeeaSRyan Libby		while read vdevbase; do
20*7affbeeaSRyan Libby			if [ -c "/dev/$class/$vdevbase" ]; then
21*7affbeeaSRyan Libby				echo "# Destroying test virstor device:" \
22*7affbeeaSRyan Libby				    "$vdevbase"
23*7affbeeaSRyan Libby				gvirstor destroy "$vdevbase"
24*7affbeeaSRyan Libby			fi
25*7affbeeaSRyan Libby		done < "$TEST_VIRSTOR_DEVS_FILE"
26*7affbeeaSRyan Libby	fi
27*7affbeeaSRyan Libby	geom_test_cleanup
28*7affbeeaSRyan Libby}
29*7affbeeaSRyan Libby
30*7affbeeaSRyan LibbyATF_TEST=true
31*7affbeeaSRyan Libby. `dirname $0`/../geom_subr.sh
32