add humble-navigation2

This commit is contained in:
X-lanni
2025-05-27 19:03:40 +08:00
parent 974abb5e1e
commit e74ec539c2
1280 changed files with 204114 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
usage() {
echo "ctest_retry.bash [options]"
echo "Reruns ctest until the test passes or it has run 3 times (by default)."
echo " -r <number> Retry the test up to <number> times [Default: 3]"
echo " -d <path> Execute ctest from the given path [Default: Current working directory]"
echo " -t <testname> Execute only <testname> [Default: execute all tests available in <path> ]"
echo " -h displays this usage summary"
exit 0
}
RETRIES=3
TESTDIR=.
SPECIFIC_TEST=""
# Check Options
while getopts ":hr:d:t:" opt; do
case "$opt" in
h)
usage
;;
r)
RETRIES=$OPTARG
;;
d)
TESTDIR=$OPTARG
;;
t)
SPECIFIC_TEST="-R $OPTARG"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
usage
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
total=$RETRIES
cd $TESTDIR
export RCUTILS_LOGGING_BUFFERED_STREAM=1
export RCUTILS_LOGGING_USE_STDOUT=1
echo "Retrying Ctest up to " $total " times."
for ((i=1;i<=total;i++))
do
ctest -V $SPECIFIC_TEST
result=$?
if [ "$result" == "0" ] # if ctest succeeded, then exit the retry loop
then
echo "Test succeeded on try " $i
exit 0
fi
done
echo "Test failed " $total " times."
exit $result