File indexing completed on 2026-04-09 07:49:19
0001
0002 usage(){ cat << EOU
0003 sphoton_test.sh
0004 ===============
0005
0006 ::
0007
0008 ~/o/sysrap/tests/sphoton_test.sh
0009 TEST=make_record_array ~/o/sysrap/tests/sphoton_test.sh
0010
0011 TEST=set_lpos ~/o/sysrap/tests/sphoton_test.sh
0012
0013 CPPSTD=c++20 ~/o/sysrap/tests/sphoton_test.sh
0014
0015
0016
0017 EOU
0018 }
0019
0020 cd $(dirname $(realpath $BASH_SOURCE))
0021
0022 name=sphoton_test
0023
0024
0025 defarg="info_build_run_pdb"
0026 arg=${1:-$defarg}
0027
0028 export FOLD=/tmp/$name
0029 mkdir -p $FOLD
0030 bin=$FOLD/$name
0031 script=$name.py
0032
0033 vars="BASH_SOURCE PWD FOLD CUDA_PREFIX name bin script TEST cppstd CPPSTD opt"
0034
0035 cppstd=c++17
0036 CPPSTD=${CPPSTD:-$cppstd}
0037
0038 opt=""
0039 if [ "$CPPSTD" == "c++20" ]; then
0040 opt=-Wno-volatile
0041 fi
0042
0043
0044 cuda_prefix=/usr/local/cuda
0045 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 test=localize
0056
0057 TEST=${TEST:-$test}
0058 export TEST
0059
0060
0061 if [ "${arg/info}" != "$arg" ]; then
0062 for var in $vars ; do printf "%30s : %s \n" "$var" "${!var}" ; done
0063 fi
0064
0065 if [ "${arg/build}" != "$arg" ]; then
0066 gcc $name.cc -std=$CPPSTD -lstdc++ $opt -lm -lcrypto -lssl \
0067 -I.. \
0068 -I$CUDA_PREFIX/include \
0069 -I$OPTICKS_PREFIX/externals/glm/glm \
0070 -o $bin
0071 [ $? -ne 0 ] && echo $BASH_SOURCE compile error && exit 1
0072 fi
0073
0074 if [ "${arg/run}" != "$arg" ]; then
0075 $bin
0076 [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0077 fi
0078
0079 if [ "${arg/pdb}" != "$arg" ]; then
0080 ${IPYTHON:-ipython} --pdb -i $script
0081 [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 3
0082 fi
0083
0084 if [ "${arg/ana}" != "$arg" ]; then
0085 ${PYTHON:-python} $script
0086 [ $? -ne 0 ] && echo $BASH_SOURCE ana error && exit 4
0087 fi
0088
0089 exit 0
0090