File indexing completed on 2026-04-09 07:48:53
0001
0002 usage(){ cat << EOU
0003 CSGTestRunner.sh
0004 ===================
0005
0006 See sysrap/tests/STestRunner.sh for notes
0007
0008 NB when updating this need to build+install CSG before changes take effect
0009 on ctest results as the installed runner is used by opticks-t/ctest
0010
0011 EOU
0012 }
0013
0014 EXECUTABLE="$1"
0015 shift
0016 ARGS="$@"
0017
0018
0019
0020 geomscript=$HOME/.opticks/GEOM/GEOM.sh
0021 [ -s $geomscript ] && source $geomscript
0022
0023
0024 Resolve_CFBaseFromGEOM()
0025 {
0026 : LOOK FOR CFBase directory containing CSGFoundry geometry
0027 : HMM COULD PUT INTO GEOM.sh TO AVOID DUPLICATION ?
0028 : G4CXOpticks_setGeometry_Test GEOM TAKES PRECEDENCE OVER .opticks/GEOM
0029
0030 local A_CFBaseFromGEOM=$TMP/G4CXOpticks_setGeometry_Test/$GEOM
0031 local B_CFBaseFromGEOM=$HOME/.opticks/GEOM/$GEOM
0032 local TestPath=CSGFoundry/prim.npy
0033
0034 if [ -d "$A_CFBaseFromGEOM" -a -f "$A_CFBaseFromGEOM/$TestPath" ]; then
0035 export ${GEOM}_CFBaseFromGEOM=$A_CFBaseFromGEOM
0036 echo $BASH_SOURCE : FOUND A_CFBaseFromGEOM $A_CFBaseFromGEOM containing $TestPath
0037 elif [ -d "$B_CFBaseFromGEOM" -a -f "$B_CFBaseFromGEOM/$TestPath" ]; then
0038 export ${GEOM}_CFBaseFromGEOM=$B_CFBaseFromGEOM
0039 echo $BASH_SOURCE : FOUND B_CFBaseFromGEOM $B_CFBaseFromGEOM containing $TestPath
0040 else
0041 echo $BASH_SOURCE : NOT-FOUND A_CFBaseFromGEOM $A_CFBaseFromGEOM containing $TestPath
0042 echo $BASH_SOURCE : NOT-FOUND B_CFBaseFromGEOM $B_CFBaseFromGEOM containing $TestPath
0043 fi
0044 }
0045
0046 Resolve_CFBaseFromGEOM
0047
0048
0049
0050 vars="HOME PWD GEOM BASH_SOURCE EXECUTABLE ARGS"
0051 for var in $vars ; do printf "%20s : %s\n" "$var" "${!var}" ; done
0052
0053
0054 $EXECUTABLE $@
0055 [ $? -ne 0 ] && echo $BASH_SOURCE : FAIL from $EXECUTABLE && exit 1
0056
0057 exit 0
0058