| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Cuts the clutter a bit in the top level directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This suppresses all "success chatter" from the daemon regression tests
when building in --silent (or -s) mode. Failing cases still output
the usual messages (except for "Processing..."). Other regression
chatter is still present, but this puts a big dent in it.
This involves three changes:
1) It adds a -q option to gpsfake, to suppress the "Processing"
messages.
2) It adds a -Q option to regress-driver, which passes -q to gpsfake
and also suppresses its own output in the success case. Failure
output is unaffected.
3) It adds the -Q option to regress-driver invocations when the build
is running in silent mode.
TESTED:
Ran regress-driver in normal, -q, and -Q modes.
Ran "scons build-all check", with and without -s.
Also tested an error case with a garbled .chk file.
|
|
|
|
|
| |
Wording for option -c seems misleading as this makes regress-driver perform
client tests.
|
| |
|
|
|
|
|
|
| |
TESTED:
Commands like these now work:
./regress-driver -v -c test/daemon/garmin-10x.log.chk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This extends the "coveraging" option to apply coveraging to any Python
programs executed during the build. It adds a new option
"python_coverage" to allow configuring the command to be used for
applying coveraging to Python programs, with a default value of
"coverage run" (which is typically appropriate, provided that the
coverage package is installed). Setting this to the null string
disables Python coveraging.
If "python_coverage" has its default value and parallel builds are
enabled, "--parallel-mode" is automatically appended to the coverage
command. If a non-default coverage command is used, it's the user's
responsibility to handle parallelism appropriately.
Note that this does not apply coveraging to generated Python code.
This also adds the coverage result files to .gitignore, including the
C coverage files which weren't there previously.
TESTED:
Ran "scons check" as well as sample cases of regress-driver -b and -v,
both with and without coveraging. Also verified that it works with the
full path to the tool supplied as the python_coverage option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running parallelized daemon tests, the output includes many
identical success messages that don't indicate which particular test
completed. This change causes the logfile names to be reported in
that case. It only applies to a successful run with the -q option,
where exactly one test was run and it wasn't "not found".
TESTED:
Ran the complete set of regression tests in parallel mode, as well as
manual cases both with and without -q with both one and two tests
specified.
Signed-off-by: Jon Schlueter <jon.schlueter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows reducing the verbosity when running multiple single-case
instances of regress-driver (e.g., for parallelism). It is not the
same as redirecting stderr, since the "Processing" messages also go to
stderr, and are useful in this case.
TESTED:
Ran regress, build, and view modes, with and without -q, and verified
expected output.
Signed-off-by: Jon Schlueter <jon.schlueter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At present, if a daemon regression test simply dies without producing
any output, the console (or log) gets a huge useless diff between the
expected output and the null output. This change checks for that case
and replaces the diff with a single line indicating that no output was
produced. It does not affect the success/failure decision.
If a test produces some output before dying, the behavior is
unchanged. Although it would be useful to have a more intelligent
diff in that case, that would be a considerably more complicated
change, and is also a much less common case.
TESTED:
Tested a success case, a normal failing case (by tweaking the .chk
file), and a fatal error case (by making "python2" not work).
Observed expected results (including return code) in all cases.
Signed-off-by: Jon Schlueter <jschlueter@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some implementations of the echo command (including the bash builtin
when invoked as '/bin/sh') don't implement the -n option, resulting in
a "-n Elapsed time:" line followed by the time on another line. This
change eliminates the -n by constructing the elapsed time message as a
single line (since there's no fully portable way to suppress the
newline after an echo).
This also redirects the elapsed time message to stderr, for
consistency with the header messages.
TESTED:
Ran and observed correct output.
Signed-off-by: Jon Schlueter <jschlueter@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At present, running regress-driver manually on binary logs may fail,
even though it works when run from scons. This is due to running in
an unsanitized environment when run manually.
The problem is that sed is being used to filter the daemon output, and
it's not really kosher to be using sed on binary data. Whether the
"working" cases involve its working "correctly" or merely
"reproducibly" is unclear, but what is clear is that in can choke on
binary data with certain settings of the LANG environment variable (in
particular, "en_US.UTF-8" is known to fail on ac12_binary). The fix
is merely to unset LANG in regress-driver.
Failures on binary data are also not very informative due to diff
simply reporting "binary files differ". That can be fixed by adding
the -b option to diff, but the resulting output can contain characters
that screw up the terminal, so it's probably not a good default.
TESTED:
Ran the full "scons check" with this change, as well as a manual
"./regress-driver test/daemon/*.log", and observed success in both
cases.
Signed-off-by: Jon Schlueter <jschlueter@redhat.com>
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
| |
Also, ensure this always happens within the regression-test driver.
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It wasn't part of the normal test dequence for good reason. There are
just too many silly ways for it to go wrong, failing or even hanging.
due to bad interactions between logfiles with trailing content that isn't
a whole packet and various quirks of the test framework.
Given that even raw mode is a fossil - let alone superraw mode - there's
not enough value in this test to be worth the hassle.
|
| |
|
| |
|
|
|
|
| |
Also, a step towards making raw-regress work again.
|
| |
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
|
|
|
|
|
| |
test..
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Patch concept due to Gleb Smirnoff.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use ${PYTHON} to invoke scripts, because the sources have
"/usr/bin/env python", and a sane approach to the python version
incompatibility nightmare is to a) decline to have a program named
python and to b) force all python programs to pick a version at
configure time and stick with it. (Otherwise you break installed
programs when the default changes, or have to go through some
difficult-to-prove-correct update process.)
With this, regression tests at least begin to run sanely instead of
all failing miserably (on NetBSD/pkgsrc).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
With the multipacket bug gone, it's no longer necessary to compare
versions of the test log and check log with the last line trimmed off.
All regression tests pass. Code splints and cppcheclks clean.
|
|
|
|
|
|
|
|
|
| |
These changes are necessary on my 32-bit Linux to make the
tests work again after the GPSD_HOME addition.
The fake.py changes is needed in case GPSD_HOME is not set at all
(my initial problem); the 2nd hunk exports GPSD_HOME for subprocesses
of regress-driver and uses it internally.
|
|
|
|
|
|
|
|
| |
check the environment variable GPSD_HOME to find gpsd on path specified
if not there check normal PATH env variable for gpsd
added note about GPSD_HOME in gpsfake.xml but might not be in correct location
changed regress-driver to use GPSD_HOME instead of adding current
directory to the PATH
|
|
|
|
|
|
|
|
| |
POSIX says that date must support +"specifier" to format dates in
various ways and lists a number of specifiers (including %s for
seconds since the epoch, used in this script), but it does not specify
the use of %N, and %N is not supported by NetBSD's date(1):
http://www.opengroup.org/onlinepubs/000095399/utilities/date.html
|
|
|
|
|
|
| |
The good news is that rgression tests all pass with this case and -u off.
The bad news is that they fail with -u on. It looks like the switch
forces some other bug, previously masked, into the open.
|