[Midnightbsd-cvs] src [11943] trunk/tests: add some test files

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jul 21 16:12:19 EDT 2018


Revision: 11943
          http://svnweb.midnightbsd.org/src/?rev=11943
Author:   laffer1
Date:     2018-07-21 16:12:18 -0400 (Sat, 21 Jul 2018)
Log Message:
-----------
add some test files

Added Paths:
-----------
    trunk/tests/Kyuafile
    trunk/tests/Makefile
    trunk/tests/README
    trunk/tests/freebsd_test_suite/
    trunk/tests/freebsd_test_suite/macros.h

Added: trunk/tests/Kyuafile
===================================================================
--- trunk/tests/Kyuafile	                        (rev 0)
+++ trunk/tests/Kyuafile	2018-07-21 20:12:18 UTC (rev 11943)
@@ -0,0 +1,52 @@
+-- $MidnightBSD$
+--
+-- Copyright 2011 Google Inc.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- * Redistributions of source code must retain the above copyright
+--   notice, this list of conditions and the following disclaimer.
+-- * Redistributions in binary form must reproduce the above copyright
+--   notice, this list of conditions and the following disclaimer in the
+--   documentation and/or other materials provided with the distribution.
+-- * Neither the name of Google Inc. nor the names of its contributors
+--   may be used to endorse or promote products derived from this software
+--   without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-- Automatically recurses into any subdirectory that holds a Kyuafile.
+-- As such, this Kyuafile is suitable for installation into the root of
+-- the tests hierarchy as well as into any other subdirectory that needs
+-- "auto-discovery" of tests.
+--
+-- This file is based on the Kyuafile.top sample file distributed in the
+-- kyua-cli package.
+
+syntax(2)
+
+local directory = fs.dirname(current_kyuafile())
+for file in fs.files(directory) do
+    if file == "." or file == ".." then
+        -- Skip these special entries.
+    else
+        local kyuafile_relative = fs.join(file, "Kyuafile")
+        local kyuafile_absolute = fs.join(directory, kyuafile_relative)
+        if fs.exists(kyuafile_absolute) then
+            include(kyuafile_relative)
+        end
+    end
+end


Property changes on: trunk/tests/Kyuafile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/tests/Makefile
===================================================================
--- trunk/tests/Makefile	                        (rev 0)
+++ trunk/tests/Makefile	2018-07-21 20:12:18 UTC (rev 11943)
@@ -0,0 +1,17 @@
+# $MidnightBSD$
+# $FreeBSD: stable/10/tests/Makefile 291792 2015-12-04 18:14:31Z bdrewery $
+
+.include <bsd.own.mk>
+
+SUBDIR+= etc
+SUBDIR+= sys
+SUBDIR_PARALLEL=
+
+TESTSDIR= ${TESTSBASE}
+KYUAFILE= yes
+
+afterinstall: install-tests-local
+install-tests-local: .PHONY
+	${INSTALL_SYMLINK} ../local/tests ${DESTDIR}${TESTSDIR}/local
+
+.include <bsd.test.mk>


Property changes on: trunk/tests/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/tests/README
===================================================================
--- trunk/tests/README	                        (rev 0)
+++ trunk/tests/README	2018-07-21 20:12:18 UTC (rev 11943)
@@ -0,0 +1,55 @@
+src/tests: The FreeBSD test suite
+=================================
+
+This file describes the build infrastructure of the FreeBSD test suite.
+If you are only interested in using the test suite itself, please refer
+to tests(7) instead.
+
+The build of the test suite is organized in the following manner:
+
+* The build of all test artifacts is protected by the MK_TESTS knob.
+  The user can disable these with the WITHOUT_TESTS setting in
+  src.conf(5).
+
+* The goal for /usr/tests/ (the installed test programs) is to follow
+  the same hierarchy as /usr/src/ wherever possible, which in turn drives
+  several of the design decisions described below.  This simplifies the
+  discoverability of tests.  We want a mapping such as:
+
+    /usr/src/bin/cp/      -> /usr/tests/bin/cp/
+    /usr/src/lib/libc/    -> /usr/tests/lib/libc/
+    /usr/src/usr.bin/cut/ -> /usr/tests/usr.bin/cut/
+    ... and many more ...
+
+* Test programs for specific utilities and libraries are located next
+  to the source code of such programs.  For example, the tests for the
+  src/lib/libcrypt/ library live in src/lib/libcrypt/tests/.  The tests/
+  subdirectory is optional and should, in general, be avoided.
+
+* The src/tests/ hierarchy (this directory) provides generic test
+  infrastructure and glue code to join all test programs together into
+  a single test suite definition.
+
+* The src/tests/ hierarchy also includes cross-functional test programs:
+  i.e. test programs that cover more than a single utility or library
+  and thus don't fit anywhere else in the tree.  Consider this to follow
+  the same rationale as src/share/man/: this directory contains generic
+  manual pages while the manual pages that are specific to individual
+  tools or libraries live next to the source code.
+
+In order to keep the src/tests/ hierarchy decoupled from the actual test
+programs being installed --which is a worthy goal because it simplifies
+the addition of new test programs and simplifies the maintenance of the
+tree-- the top-level Kyuafile does not know which subdirectories may
+exist upfront.  Instead, such Kyuafile automatically detects, at
+run-time, which */Kyuafile files exist and uses those directly.
+
+Similarly, every directory in src/ that wants to install a Kyuafile to
+just recurse into other subdirectories reuses this Kyuafile with
+auto-discovery features.  As an example, take a look at src/lib/tests/
+whose sole purpose is to install a Kyuafile into /usr/tests/lib/.
+The goal in this specific case is for /usr/tests/lib/ to be generated
+entirely from src/lib/.
+
+-- 
+$MidnightBSD$


Property changes on: trunk/tests/README
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/tests/freebsd_test_suite/macros.h
===================================================================
--- trunk/tests/freebsd_test_suite/macros.h	                        (rev 0)
+++ trunk/tests/freebsd_test_suite/macros.h	2018-07-21 20:12:18 UTC (rev 11943)
@@ -0,0 +1,72 @@
+/* $MidnightBSD$ */
+/*-
+ * Copyright (c) 2015 EMC / Isilon Storage Division
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD: stable/10/tests/freebsd_test_suite/macros.h 292655 2015-12-23 10:31:46Z ngie $
+ */
+
+#ifndef	_FREEBSD_TEST_MACROS_H_
+#define	_FREEBSD_TEST_MACROS_H_
+
+#include <sys/param.h>
+#include <sys/module.h>
+#include <string.h>
+#include <errno.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#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",	\
+		    _mod_name, strerror(errno));			\
+	}								\
+} 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",		\
+		    _mod_name, strerror(errno));			\
+		_exit(_exit_code);					\
+	}								\
+} while(0)
+
+#endif


Property changes on: trunk/tests/freebsd_test_suite/macros.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list