Load geom_gate(4) if necessary before running tests; skip if it can't be loaded

The test code prior to r311893 loaded geom_gate at test start if necessary and
skipped the tests if it couldn't be loaded.

The ATF-ifcation of this test done in r311893 unfortunately dropped this
functionality.

This change restores the geom_gate module load and skips the test(s) if unavailable
in an ATF-like way.

MFC after:	1 month
PR:		220164
Reported by:	gjb
This commit is contained in:
Enji Cooper 2017-07-29 22:01:17 +00:00
parent 4261923e76
commit b8891d7c10
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=321702

View File

@ -16,6 +16,8 @@ ggated_head()
ggated_body()
{
load_ggate
us=$(alloc_ggate_dev)
work=$(alloc_md)
src=$(alloc_md)
@ -57,6 +59,8 @@ ggatel_file_head()
ggatel_file_body()
{
load_ggate
us=$(alloc_ggate_dev)
echo src work >> ${PLAINFILES}
@ -91,6 +95,8 @@ ggatel_md_head()
ggatel_md_body()
{
load_ggate
us=$(alloc_ggate_dev)
work=$(alloc_md)
src=$(alloc_md)
@ -195,6 +201,19 @@ common_cleanup()
true
}
load_ggate()
{
local class=gate
# If the geom class isn't already loaded, try loading it.
if ! kldstat -q -m g_${class}; then
if ! geom ${class} load; then
atf_skip "could not load module for geom class=${class}"
exit 0
fi
fi
}
# Bug 204616: ggatel(8) creates /dev/ggate* asynchronously if `ggatel create`
# isn't called with `-v`.
wait_for_ggate_device()