Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Dec 2015 05:44:53 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r292319 - head/tests/freebsd_test_suite
Message-ID:  <201512160544.tBG5isHx086553@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Wed Dec 16 05:44:53 2015
New Revision: 292319
URL: https://svnweb.freebsd.org/changeset/base/292319

Log:
  Add ATF_REQUIRE_FEATURE and PLAIN_REQUIRE_FEATURE macros for
  testing for kernel features via the feature_present(3) libcall
  
  The semantics are similar to the other macros in the header (skip
  testcase with ATF macro; exit with appropriate exit code with the
  PLAIN macro)
  
  MFC after: 1 week
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/tests/freebsd_test_suite/macros.h

Modified: head/tests/freebsd_test_suite/macros.h
==============================================================================
--- head/tests/freebsd_test_suite/macros.h	Wed Dec 16 05:19:07 2015	(r292318)
+++ head/tests/freebsd_test_suite/macros.h	Wed Dec 16 05:44:53 2015	(r292319)
@@ -38,6 +38,13 @@
 
 #include <atf-c.h>
 
+#define	ATF_REQUIRE_FEATURE(_feature_name) do {				\
+	if (feature_present(_feature_name) == 0) {			\
+		atf_tc_skip("kernel feature (%s) not present",		\
+		    _feature_name);					\
+	}								\
+} while(0)
+
 #define	ATF_REQUIRE_KERNEL_MODULE(_mod_name) do {			\
 	if (modfind(_mod_name) == -1) {					\
 		atf_tc_skip("module %s could not be resolved: %s",	\
@@ -45,6 +52,14 @@
 	}								\
 } while(0)
 
+#define	PLAIN_REQUIRE_FEATURE(_feature_name, _exit_code) do {		\
+	if (feature_present(_feature_name) == 0) {			\
+		printf("kernel feature (%s) not present\n",		\
+		    _feature_name);					\
+		_exit(_exit_code);					\
+	}								\
+} while(0)
+
 #define	PLAIN_REQUIRE_KERNEL_MODULE(_mod_name, _exit_code) do {		\
 	if (modfind(_mod_name) == -1) {					\
 		printf("module %s could not be resolved: %s\n",		\



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