Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jul 2017 22:01:17 +0000 (UTC)
From:      Ngie Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r321702 - head/tests/sys/geom/class/gate
Message-ID:  <201707292201.v6TM1Hvb081075@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Jul 29 22:01:17 2017
New Revision: 321702
URL: https://svnweb.freebsd.org/changeset/base/321702

Log:
  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

Modified:
  head/tests/sys/geom/class/gate/ggate_test.sh

Modified: head/tests/sys/geom/class/gate/ggate_test.sh
==============================================================================
--- head/tests/sys/geom/class/gate/ggate_test.sh	Sat Jul 29 21:31:54 2017	(r321701)
+++ head/tests/sys/geom/class/gate/ggate_test.sh	Sat Jul 29 22:01:17 2017	(r321702)
@@ -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)
@@ -193,6 +199,19 @@ common_cleanup()
 		rm md.devs
 	fi
 	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`



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707292201.v6TM1Hvb081075>