Turns out subprocess.Popen operates on posix mode. Also, there is an
issue with previous implementation of pipe command that is fixed by
Chris. Now, it can also accepts command in form of a string. The unit
test for that is added via this patch.
The regular split-by-space function used to split command arguments
creates compatibility issues with many shell command syntaxes. A
specific example is the handling of string arguments, as shown below:
%define renode_args -e start_opts -e "s %{bsp_resc_script}"
Thus, it is changed to use shlex.split instead. It splits
the command arguments using shell-like syntax. More about shlex
module here: https://docs.python.org/3/library/shlex.html
The bug was introduced by cfd5aa41e847752cd98cde65515df7ce45ff9665.
The code monitors the test and generates a timeout test failure. There are two
layers of timeout, one for output and the other for a test running too long.
The test needs to generate some output within the first timeout period and the
second timeout detects if the test has run too long. The first timeout detects
a target has locked up. The second is for a test looping generating output.
With exe type tests the output is buffered in a separate thread.
The u-boot TFTP client will fail a fully completed file retrieval if the
final ACK gets an ICMP response that the port is unavailable which can
occur if the port is closed before the ACK arrives from the client. This
change causes the TFTP server to wait for the final ACK before closing
the socket and prevents transfers from failing due to the race
condition.
Covoar uses getopt() to process the command line options. If getopt() is
POSIX-compliant, it will return -1 when it encounters the first
non-option command line argument. It appears that it behaves this way on
FreeBSD, but on Linux getopt() continues to process arguments while
skipping any non-options. This changes the order of arguments passed to
covoar by coverage.py to group all options at the beginning. This allows
hosts with POSIX-compliant getopt() implementations to correctly process
all command line options.
This moves all of the javascript and CSS files that are shared by the
symbol set HTML reports to the shared parent directory. It also includes
the javascript and CSS in the top-level index file.
The coverage reports contain places where they display incorrect or
vague information particularly when some statistic is unavailable. This
has been fixed. The formatting and wording of various things has been
improved as well.
The following new statistics have been added to the summary report:
number of unreferenced symbols, total branch paths found, number of
branch paths not executed, and percentage of branch paths covered.
Tests resulting in the fatal-error state are counted as failures, but
are not currently reported in the text summary. This has already been
fixed for JSON output.
This fixes an issue with json report output that causes a crash due to
the incorrect object member being accessed for test-too-long. This also
changes treatment of fatal errors to match how they are displayed in the
tester log output and changes "fatal error" to "fatal-error" to better
match the naming of all the other failure types.
- If you host does not provide a python command consult the User
manual for ways you can run the python commands.
- Full package paths are being used to avoid namespace pollution and
crosstalk.
- Add a --show-backtrace option to make it easier for users to
get an exception backtrace if something goes wrong.
- Fix the --packet-trace option so it actually decodes the packets
Commit 72c684eff2cd932b4948e21902680a93473340c3 removed the default
value of rtems_tools. If the --rtems--tools option was omitted the
rtems-test command printed lots of
error: run.cfg:61: macro '%{rtems_tools}' not found
error messages.