Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #!/bin/bash
0002 
0003 usage(){ cat << EOU
0004 
0005 ~/o/sysrap/tests/s_pool_test.sh 
0006 
0007 
0008 EOU
0009 }
0010 
0011 
0012 cd $(dirname $(realpath $BASH_SOURCE))
0013 
0014 name=s_pool_test 
0015 bin=/tmp/$name
0016 
0017 
0018 
0019 gdb__ () 
0020 { 
0021     if [ -z "$BP" ]; then
0022         H="";
0023         B="";
0024         T="-ex r";
0025     else
0026         H="-ex \"set breakpoint pending on\"";
0027         B="";
0028         for bp in $BP;
0029         do
0030             B="$B -ex \"break $bp\" ";
0031         done;
0032         T="-ex \"info break\" -ex r";
0033     fi;
0034     local runline="gdb $H $B $T --args $* ";
0035     echo $runline;
0036     date;
0037     eval $runline;
0038     date
0039 }
0040 
0041 
0042 
0043 export s_pool_level=1
0044 
0045 #test=vector_0_FAILS # double dtor fail
0046 #test=vector_1_FAILS # double dtor fail
0047 #test=vector_2 # OK for pointers
0048 test=create_delete_0 # OK for pointers
0049 
0050 export TEST=${TEST:-$test}
0051 
0052 
0053 defarg="info_build_run"
0054 arg=${1:-$defarg}
0055 
0056 
0057 vars="BASH_SOURCE name bin arg test TEST"
0058 
0059 if [ "${arg/info}" != "$arg" ]; then
0060     for var in $vars ; do printf "%20s : %s\n" "$var" "${!var}" ; done 
0061 fi
0062 
0063 if [ "${arg/build}" != "$arg" ]; then
0064     gcc $name.cc Obj.cc -g -std=c++11 -lstdc++ -I.. -o $bin
0065     [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1 
0066 fi 
0067 
0068 if [ "${arg/run}" != "$arg" ]; then 
0069     $bin
0070     [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0071 fi
0072 
0073 if [ "${arg/dbg}" != "$arg" ]; then 
0074     gdb__ $bin 
0075     [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0076 fi
0077 
0078 exit 0 
0079 
0080