Files
Alexandru Ardelean 6d7f1f2446 rtklib: add test.sh and test-version.sh for CI
The RTKLIB command-line tools (convbin, pos2kml, rnx2rtkp, rtkrcv,
str2str) don't accept a --version flag; passing any unrecognized option
triggers printhelp()/printusage() which only emits a synopsis block. The
generic CI version probe therefore can't find PKG_VERSION and marks the
package as missing a version match.

Add a test-version.sh that exit-0's for all five subpackages to skip the
generic version check, and a test.sh that exercises each binary's
synopsis output as a basic functional smoke test.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-25 15:53:20 +03:00

34 lines
883 B
Bash
Executable File

#!/bin/sh
#
# Functional smoke test for the RTKLIB command-line tools.
#
# Each tool prints a usage/synopsis block (containing its own name) to stderr
# when invoked with an unrecognized option, then exits 0. We confirm the
# binary runs in the target environment and produces the expected synopsis.
bin="/usr/bin/$1"
case "$1" in
convbin|pos2kml|rnx2rtkp|rtkrcv|str2str)
[ -x "$bin" ] || {
echo "FAIL: $bin not found or not executable"
exit 1
}
# Any unknown '-' option triggers printhelp()/printusage(); rtkrcv
# exits 0, the others may exit non-zero — capture both streams and
# ignore the exit code, then look for the binary name in the output.
out=$("$bin" -? 2>&1 || true)
echo "$out" | grep -qF "$1" || {
echo "FAIL: $1 synopsis did not mention '$1'"
echo "$out"
exit 1
}
echo "$1: synopsis OK"
;;
*)
echo "Untested package: $1" >&2
exit 1
;;
esac