File indexing completed on 2026-04-09 07:49:22
0001
0002 usage(){ cat << EOU
0003 STestRunner.sh
0004 ================
0005
0006 Use this from CMakeLists.txt with::
0007
0008 set(BASH_RUN_TEST_SOURCES
0009 SEnvTest_FAIL.cc
0010 SEnvTest_PASS.cc
0011 SSimTest.cc
0012 SBndTest.cc
0013 )
0014
0015 find_program(BASH_EXECUTABLE NAMES bash REQUIRED)
0016 message(STATUS "BASH_EXECUTABLE : ${BASH_EXECUTABLE}")
0017
0018 foreach(SRC ${BASH_RUN_TEST_SOURCES})
0019 get_filename_component(TGT ${SRC} NAME_WE)
0020 add_executable(${TGT} ${SRC})
0021 target_link_libraries(${TGT} SysRap)
0022 install(TARGETS ${TGT} DESTINATION lib)
0023 add_test(
0024 NAME ${name}.${TGT}
0025 COMMAND ${BASH_EXECUTABLE} STestRunner.sh ${TGT}
0026
0027 )
0028 endforeach()
0029
0030 Following:
0031
0032 * https://enccs.github.io/cmake-workshop/
0033 * https://enccs.github.io/cmake-workshop/hello-ctest/
0034 * https://github.com/ENCCS/cmake-workshop/blob/main/content/code/day-1/06_bash-ctest/solution/CMakeLists.txt
0035
0036 Dev::
0037
0038 om
0039 om-cd
0040
0041 OR after okdist-install-tests::
0042
0043 cd /usr/local/opticks/tests
0044
0045 Then try ctest from the installed tree::
0046
0047 ctest -N
0048 ctest -R SEnvTest_PASS --output-on-failure
0049 ctest -R SEnvTest_FAIL --output-on-failure
0050
0051 EOU
0052 }
0053
0054 EXECUTABLE="$1"
0055 shift
0056 ARGS="$@"
0057
0058
0059
0060 geomscript=$HOME/.opticks/GEOM/GEOM.sh
0061 [ -s $geomscript ] && source $geomscript
0062
0063
0064 vars="HOME PWD GEOM BASH_SOURCE EXECUTABLE ARGS"
0065 for var in $vars ; do printf "%20s : %s\n" "$var" "${!var}" ; done
0066
0067
0068 $EXECUTABLE $@
0069 [ $? -ne 0 ] && echo $BASH_SOURCE : FAIL from $EXECUTABLE && exit 1
0070
0071 exit 0
0072