Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:22

0001 #!/usr/bin/env bash
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            # from PATH for portability 
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  # to the bdir 
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             # list 
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 #env 
0068 $EXECUTABLE $@
0069 [ $? -ne 0 ] && echo $BASH_SOURCE : FAIL from $EXECUTABLE && exit 1 
0070 
0071 exit 0
0072