summaryrefslogtreecommitdiff
path: root/regress-driver
Commit message (Collapse)AuthorAgeFilesLines
* tests: move most tests into tests/Gary E. Miller2018-11-081-1/+1
| | | | Cuts the clutter a bit in the top level directory.
* Makes "silent" build quieter.Fred Wright2017-03-041-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Improve regress-driver helpRobert Norris2017-02-091-2/+2
| | | | | Wording for option -c seems misleading as this makes regress-driver perform client tests.
* Fix typoRobert Norris2017-02-051-1/+1
|
* libgps was renamed to test_libgps some time ago.Robert Norris2017-02-051-1/+1
| | | | | | TESTED: Commands like these now work: ./regress-driver -v -c test/daemon/garmin-10x.log.chk
* Adds support for Python coveraging.Fred Wright2016-03-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Adds test name to regress-driver success message in single -q mode.Fred Wright2016-03-031-1/+6
| | | | | | | | | | | | | | | 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>
* Adds -q (quiet) option to regress-driver.Fred Wright2016-02-291-5/+8
| | | | | | | | | | | | | 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>
* Suppresses bloated regression diff when test produces no output.Fred Wright2016-02-231-1/+4
| | | | | | | | | | | | | | | | | | | | 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>
* Fixes echo nonportability in regress-driver.Fred Wright2016-02-231-2/+3
| | | | | | | | | | | | | | | | | 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>
* Fixes manual use of regress-driver with binary logs.Fred Wright2016-02-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* In regress-driver, a shelll syntax cleanup.Eric S. Raymond2016-01-161-1/+1
|
* Fix regression testing when the default Python becomes Python 3.Eric S. Raymond2015-07-211-1/+1
|
* No more need for fragile setting ogf LD_LIBRARY_PATH.Eric S. Raymond2015-03-311-4/+0
| | | | All regression tests pass.
* Repair the logic for setting a non-default SHM export segment.Eric S. Raymond2015-02-161-0/+5
| | | | | | Also, ensure this always happens within the regression-test driver. All regression tests pass.
* Support use of non-GNU date(1).Eric S. Raymond2015-02-111-4/+3
|
* Get more exact times for single tests.Eric S. Raymond2015-02-081-3/+3
|
* Minor changes that should have gone in with the previous commit.Eric S. Raymond2015-02-021-1/+1
|
* Add slow=yes option for regression tests in an attempt to avoid flakeouts.Eric S. Raymond2014-08-241-3/+10
|
* Belt-and-suspenders setting of LD_LIBRARY_PATH for regression testing.Eric S. Raymond2013-11-301-0/+4
|
* Copy an explanation of black magic from the ancient confugure.ac.Eric S. Raymond2013-11-231-2/+6
|
* Regretfully, give up on the raw-regress test.Eric S. Raymond2013-11-081-12/+1
| | | | | | | | | | 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.
* Test machinery improvements. raw-regress is now only partially broken.Eric S. Raymond2013-11-051-1/+1
|
* Test-machinery improvements. All regression tests pass. PPS is live.Eric S. Raymond2013-11-051-2/+2
|
* More intelligent disabling of the progess vaton.Eric S. Raymond2013-11-051-3/+8
| | | | Also, a step towards making raw-regress work again.
* Fix typos in help textGary E. Miller2013-08-071-1/+1
|
* Better fix for Savannah bug #35377.Michael Tatarinov2013-01-151-4/+0
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Address Savannah bug #35377: Regression tests failed with 'right' TZ.Eric S. Raymond2012-10-241-0/+4
|
* More fixes with a unique temporary directories and files for the regression ↵Michael Tatarinov2011-10-061-1/+2
| | | | | | test.. Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Create a unique temporary directory for the regression-test.Michael Tatarinov2011-10-061-1/+1
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Add -f option to gpsfake, removing a non-ortogonality in the behavior of -1.Eric S. Raymond2011-04-041-1/+1
| | | | Patch concept due to Gleb Smirnoff.
* Break the libgps test code our of libgps_core.c.Eric S. Raymond2011-04-031-2/+2
|
* Don't use to run binaries (fix previous).Greg Troxel2011-03-031-3/+3
|
* Don't assume python scripts in source tree are directly runnable.Greg Troxel2011-03-031-7/+7
| | | | | | | | | | | | | 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).
* make sure regress-driver calls gpsfake explictlyJon Schlueter2011-03-031-7/+7
|
* Portable version of kukabu's fix for the regression-test driver.Eric S. Raymond2011-02-071-4/+8
|
* Typo fix.Eric S. Raymond2011-02-041-1/+1
|
* Cosmetic fix.Eric S. Raymond2011-02-041-1/+2
|
* summarize which regression tests failJon Schlueter2010-12-231-1/+2
|
* whitespace cleanup in regress-driverJon Schlueter2010-12-231-8/+10
|
* Fixed warning in regress-driver scriptJon Schlueter2010-11-051-1/+1
|
* Add -h option to regress-driverJon Schlueter2010-11-051-1/+23
|
* Add -l option to keep logfiles.Eric S. Raymond2010-09-151-4/+11
|
* Slightly clearer trap statements. All regression tests pass.Eric S. Raymond2010-06-171-1/+2
|
* Make the diff output from the regression driver a bit easier to read.Eric S. Raymond2010-06-171-5/+10
| | | | All regression tests pass.
* Remove a kluge in the regression-test driver.Eric S. Raymond2010-06-171-5/+3
| | | | | | | 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.
* regress-driver fixesBeat Bolli2010-06-061-4/+4
| | | | | | | | | 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.
* add GPSD_HOME environment variable support to gpsfakeJon Schlueter2010-06-051-4/+3
| | | | | | | | 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
* Don't use non-standard %N with date +.Greg Troxel2010-06-041-2/+2
| | | | | | | | 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
* Implement a -u switch to force the test framework to use UDP, not ptys.Eric S. Raymond2010-05-041-1/+2
| | | | | | 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.