From b8891d7c1037efba4e0e6dd94baf63f696cf96b0 Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Sat, 29 Jul 2017 22:01:17 +0000 Subject: [PATCH] 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 --- tests/sys/geom/class/gate/ggate_test.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/sys/geom/class/gate/ggate_test.sh b/tests/sys/geom/class/gate/ggate_test.sh index 162744d818df..7f853357be38 100755 --- a/tests/sys/geom/class/gate/ggate_test.sh +++ b/tests/sys/geom/class/gate/ggate_test.sh @@ -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()