freebsd-nq/share/examples/tests
Enji Cooper 430f7286a5 Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed
after r298107

Summary of changes:

- Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that
  namespacing is kept with FILES appropriately, and that this shouldn't need
  to be repeated if the namespace changes -- only the definition of PACKAGE
  needs to be changed
- Allow PACKAGE to be overridden by callers instead of forcing it to always be
  `tests`. In the event we get to the point where things can be split up
  enough in the base system, it would make more sense to group the tests
  with the blocks they're a part of, e.g. byacc with byacc-tests, etc
- Remove PACKAGE definitions where possible, i.e. where FILES wasn't used
  previously.
- Remove unnecessary TESTSPACKAGE definitions; this has been elided into
  bsd.tests.mk
- Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES;
  ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk.
- Fix installation of files under data/ subdirectories in lib/libc/tests/hash
  and lib/libc/tests/net/getaddrinfo
- Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup)

Document the proposed changes in share/examples/tests/tests/... via examples
so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of
replacing FILES. share/mk/bsd.README didn't seem like the appropriate method
of communicating that info.

MFC after: never probably
X-MFC with: r298107
PR: 209114
Relnotes: yes
Tested with: buildworld, installworld, checkworld; buildworld, packageworld
Sponsored by: EMC / Isilon Storage Division
2016-05-04 23:20:53 +00:00
..
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
Makefile Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
Makefile.depend DIRDEPS_BUILD: Connect MK_TESTS. 2016-03-09 22:46:01 +00:00
README

$FreeBSD$

This directory contains sample test programs along the Makefile and
Kyuafile logic to get them build and installed.

The goal of these test programs is to illustrate, via simple and
heaviliy-commented code, how to construct test programs using all the
supported interfaces in the system.

If you use any files in here as templates for your own code, please
remove all comments while doing so and then write your own if necessary.

The subdirectories here contain:

* tests/: Regular directory containing the tests code.  Note that the
  apparently-redundant tests/tests/ path component here is expected for
  consistency reasons and required to get the right layout under
  /usr/tests/.

* tests/atf/: Tests that use the ATF libraries, including atf-c, atf-c++
  and atf-sh.  See kyua-atf-interface(1) for details.

* tests/plain/: Tests that do not use any testing framework.  See
  kyua-plain-interface(1) for details.

To inspect the available sample test cases from an installed system:

    $ kyua list -k /usr/tests/share/examples/tests/Kyuafile

To run the full suite of sample test cases:

    $ kyua test -k /usr/tests/share/examples/tests/Kyuafile

And to debug a specific failing test case, if any:

    $ kyua debug -k /usr/tests/share/examples/tests/Kyuafile \
      atf/cp_test:simple