94ebd6f5b4
- Always munmap memory regions after mmap'ing them. - Make sure getpagesize() returns a value greater than 0 and use a cached value instead of always calling getpagesize(3). - Remove intermediate variable for assigning from $TMPDIR if set in the environment to eliminate warnings about pointer conversions with "/tmp", and to mute an invalid buffer overflow concern from Coverity (snprintf and tacking on a NUL terminator was alleviating that concern before). - Remove useless self-test of psize before it's initialized. - Check the return values of getrlimit/setrlimit. Cosmetic changes: - Replace a `(void*)0` with NULL. - Do some minor whitespace clean up. - Remove an unnecessary cast to mmap. - Make all munmap calls use ATF_REQUIRE_MSG instead of using the: > if (munmap(..) == -1) > atf_tc_fail(..) idiom. Employ the new idiom consistently when calling munmap. CID: 1331351, 1331382-1331386, 1331513, 1331514, 1331565, 1331583, 1331694 Differential Revision: https://reviews.freebsd.org/D6012 MFC after: 2 weeks Reported by: Coverity Reviewed by: markj Sponsored by: EMC / Isilon Storage Division |
||
---|---|---|
.. | ||
etc | ||
freebsd_test_suite | ||
sys | ||
Kyuafile | ||
Makefile | ||
Makefile.depend | ||
README |
src/tests: The FreeBSD test suite ================================= To run the FreeBSD test suite: (1) Make sure that kyua is installed: pkg install kyua (2) To run the tests: kyua test -k /usr/tests/Kyuafile (3) To see the test results: kyua report For further information on using the test suite, read tests(7): man tests Description of FreeBSD test suite ================================= 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/. -- $FreeBSD$