Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/docker_tetraif_tests.sh
T
2026-09-12 13:54:34 +02:00

34 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Compile et lance les tests unitaires TetraIF dans l'image de build.
#
# ./docker_tetraif_tests.sh -> compile puis lance les trois suites
# ./docker_tetraif_tests.sh build -> compile seulement
# ./docker_tetraif_tests.sh run -> lance seulement (binaires deja compiles)
# ./docker_tetraif_tests.sh ctest -> lance via ctest (55 cas enregistres)
# ./docker_tetraif_tests.sh run 'PrtCnvMemberTest.*' -> sous-ensemble (filtre gtest)
#
# Prerequis : build4/ configure avec -DBUILD_RTI=ON (run ./docker_build.sh before).
MODE="${1:-all}"
FILTER="${2:-*}"
TARGETS="CoPrtCnvTests LogViewTests PrtCnvTests"
BUILD_CMD="make -j8 $TARGETS"
RUN_CMD="for t in $TARGETS; do echo \"== \$t ==\"; ./bin/\$t --gtest_filter='$FILTER'; done"
CTEST_CMD="ctest -R 'CoPrtCnv|LogView|PrtCnv' --output-on-failure"
case "$MODE" in
build) CMD="$BUILD_CMD" ;;
run) CMD="$RUN_CMD" ;;
ctest) CMD="$BUILD_CMD && $CTEST_CMD" ;;
all) CMD="$BUILD_CMD && $RUN_CMD" ;;
*) echo "usage: $0 [build|run|ctest|all] [filtre_gtest]"; exit 2 ;;
esac
docker run --rm \
-v /home/nkana/repo/qt-migration-legatus:/workspace \
-v /home/nkana/repo/qt-migration-legatus/qt6-after/qt6-migrated-legatus/rti_license.dat:/workspace/rti_license.dat \
-v /home/nkana/repo/external/rti_connext_dds-7.7.0:/opt/rti_connext_dds-7.7.0:ro \
-w /workspace/qt6-after/qt6-migrated-legatus/build4 \
legatus-build:26.04 bash -c "export QT_QPA_PLATFORM=offscreen && $CMD"