Properly handle tabs when parsing config files
Backslashes within [] in a regexp don't have any meaning, so [ \t]
did not have the intended effect of being evaluated to a space and
a tab. Fix this by writing an actual tab in the regexp.
Problem found by Valeriy E. Ushakov.
- Workaround for BCM5906 silicon bug. When auto-negotiation results in
half-duplex operation, excess collision on the ethernet link may cause
internal chip delays that may result in subsequent valid frames being
dropped due to insufficient receive buffer resources.
(FreeBSD: r214219, r214251, r214292)
- Allow write DMA to request larger DMA burst size to get better
performance on BCM5785.
(FreeBSD r213333: OpenBSD 1.294)
- Enable TX MAC state machine lockup fix for both BCM5755 or higher
and BCM5906. Publicly available data sheet just says it may happen
due to corrupted TxMbuf.
(FreeBSD r214216)
- Follow Broadcom datasheet:
Delay 100 microseconds after enabling transmit MAC.
Delay 10 microseconds after enabling receive MAC.
(FreeBSD r241220)
Fix broken variable parsing with NetBSD's /bin/sh
Quote the expansion of a $() command that was not properly surrounded
by quotes so that this runs properly with NetBSD's /bin/sh.
I was first going to do this by doing automatic replacements of special
macros within the tests.7 file, but that turned out to be too complex
and confusing.
Instead, just rename the previous tests.7 to tests.atf.7 and add a new
tests.kyua.7 file. Choose which one to install as tests(7) depending on
the MKKYUA knob.
This is the last component of the import of Kyua and its build will be
guarded by the MKKYUA knob. core@ has approved this import.
Description:
Kyua (pronounced Q.A.) is a testing framework for both developers and
users. Kyua is different from most other testing frameworks in that it
puts the end user experience before anything else. There are multiple
reasons for users to run the tests themselves, and Kyua ensures that
they can do so in the most convenient way.
This module, kyua-atf-compat, provides tools to ease the transition from
ATF to Kyua. In particular, this includes a tool to convert Atffile
files to Kyuafile files in an automated manner, and drop-in replacement
wrappers for both atf-run and atf-report.
This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles. For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.
For these reasons, consider this a transitional step.
Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.
Atffile generation.
This is needed to be able to generate Kyuafiles (coming later), as these
clearly differentiate between the definition of test programs and the
recursion into other subdirectories (or files).
In particular: rename ATFFILE_EXTRA_TPS to ATFFILE_EXTRA_SUBDIRS and
change the logic in bsd.test.mk to keep track of subdirectories aside from
_TESTS when creating the Atffile.
Escape backslashes in test metadata
The previous code in kyua-atf-tester escaped single quotes in the
metadata of test cases so that those single quotes did not yield
invalid Lua strings in the output of the tester.
It turns out we also need to escape backslashes for things to work
properly. Backslashes also have special meaning within Lua strings.
Found while running the NetBSD test suite. In particular, the
lib/libc/gen/t_fnmatch test program had the '\'' sequence in the
description of a test and this made the test program be reported
as bogus.
- Support for passing kernel arguments.
- entropy_init() removed as OLINUXINO doesn't generate entropy bits without
user interaction.
- FIFO contents are flushed when DEBUG is enabled.
This is the main component of Kyua and its build will be guarded by the
MKKYUA knob. core@ has approved this import.
Description:
Kyua (pronounced Q.A.) is a testing framework for both developers and
users. Kyua is different from most other testing frameworks in that it
puts the end user experience before anything else. There are multiple
reasons for users to run the tests themselves, and Kyua ensures that
they can do so in the most convenient way.
This module, kyua-cli, provides the command-line interface to the Kyua
runtime system. The major purpose of this tool is to run test cases and
generate unified reports for their results.