#!/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"