This is a list of developer tools included in the source repository
but not necessarily shipped in the tarball or binary distributions If you're
viewing it with Emacs, you can try doing Ctl-C Ctl-t browse through
the outline headers. Ctl-C Ctl-a will unfold them again.
== ais.py ==
AIS packet decoder in Python. Useful as a check on the C code.
Also, if you have AISHub privileges (see <http://www.aishub.net/>),
a command like
nc data.aishub.net 4006 | devtools/ais.py -c -v -t RANGE >AIS.LOG 2>&1"
is a handy way to capture filtered AIS samples; RANGE can be a comma-separated
list of AIS types.
== aidvmtable ==
Generate an asciidoc table of the six-bit encoding used in AIVDM packets.
== cycle_analyzer ==
Finds end-of-cycle sentences from GPS output logs.
== dchroot-exec ==
Very simple wrapper around the DSA version of dchroot
on the Debian porter boxes. dchroot only accepts one command
as argument, nothing else. This wrapper creates a temporary script
which will be executed then.
== do-build ==
Very simple wrapper around scons clean, build, and check, saving
output in a file named with "git describe".
== easyinverse.pl ==
Generate random pairirs of mutually inverse covariance matrices
suitable for testing a matrix-inversion algorithm.
== editcomment ==
Give this a commit-ID specification. It will edit the associated comment.
Usual caveats apply; the edited one and all commits after will change IDs,
and pushing them to a repo with the old commits will wreak havoc.
Note also that this cavalierly overwrites refs/original.
== fakeserver ==
Analogue of gpsfake. Impersonates a gpsd, spewing specified data to
clients connecting to localhost:2947
== fakecompare ==
Compare the results from running gpsfake on a logfile between this
machine and a remote one. Especially useful when remote and local
have different word lengths.
== flock* ==
The files prefixed with flock are the scripts, data files, and
documentation for the flock-test suite. Read flock-instructions for
== gpsd-debian-regressions.sh ==
Retrieves the latest build logs from Debian's buildds and extracts a
list of failed regression tests, sorted by architecture.
== identify_failing_build_options.py ==
Run from the top level to try to identify any combinations of build
options that don't compile. To run cd to the root of the repo and
run "devtools/identify_failing_build_options.py" it will generate
failed_build_configs.txt for any that failed to compile.
== logextract ==
Extract pure NMEA from an emailed gpsd error log. The output can be fed
== regress-builder ==
This script runs an exhaustive test on combinations of compilation options,
looking for ones that break the build.
== regressdiff ==
Walk through a pair of text files looking for where they begin to differ.
May be useful for comparing logs when regression tests break.
== reindent ==
Try to reindent the code in a uniform style.
== sizes ==
Test-build interesting versions of the daemon and display their sizes.
== striplog ==
Strip leading comment lines from NMEA sentence logs. gpsfake can do
this itself now, so this script has a lot of dust on it.
== tablegen.py ==
Generate most of the code required to support a message type from
AIVDM message layout tables. Also, redo their bit offsets to be
conformant with field lengths.
== test_json_validity.py ==
Test a file full of lines containing GPSD-JSON reports to verify that each
line is in fact well-formed JSON.