LD_PRELOAD: stateless LDP
[vpp.git] / test / scripts / socket_test.sh
index 64a1301..609fc62 100755 (executable)
@@ -246,14 +246,16 @@ while ! [[ $run_test ]] && (( $# > 0 )) ; do
     shift
 done
 
-VCL_LDPRELOAD_LIB_DIR="${VCL_LDPRELOAD_LIB_DIR:-$lib64_dir}"
-
-if [ -n "$multi_host" ] ; then
-    VCL_SESSION_SCOPE_GLOBAL=true
-else
-    VCL_SESSION_SCOPE_LOCAL=true
+if [ -z "$VCL_DEBUG" ] ; then
+    if [ "$title_dbg" = "-DEBUG" ] ; then
+        VCL_DEBUG=1
+    else
+        VCL_DEBUG=0
+    fi
 fi
 
+VCL_LDPRELOAD_LIB_DIR="${VCL_LDPRELOAD_LIB_DIR:-$lib64_dir}"
+
 if [ -z "$WS_ROOT" ] ; then
     echo "ERROR: WS_ROOT environment variable not set!" >&2
     echo "       Please set WS_ROOT to VPP workspace root directory." >&2
@@ -349,7 +351,7 @@ fi
 if [ -z "$api_segment" ] ; then
     api_segment=" api-segment { gid $user_gid }"
 fi
-vpp_args="unix { interactive exec $tmp_vpp_exec_file}${api_segment}"
+vpp_args="unix { interactive full-coredump coredump-size unlimited exec $tmp_vpp_exec_file}${api_segment}"
 
 if [ $iperf3 -eq 1 ] ; then
     app_dir="$(dirname $(which iperf3))/"
@@ -491,7 +493,7 @@ set_pre_cmd() {
         pre_cmd="$gdb_in_emacs "
     elif [ $gdb -eq 1 ] ; then
         write_gdb_cmdfile $tmp_gdb_cmdfile $gdb_cmdfile $emacs $3
-        pre_cmd="gdb -x $tmp_gdb_cmdfile -i=mi --args "
+        pre_cmd="gdb -x $tmp_gdb_cmdfile --args "
     elif [ -z $3 ] ; then
         unset -v pre_cmd
     else
@@ -515,15 +517,29 @@ write_script_header() {
             echo "trap \"rm -f $1 $2 $tmp_vpp_exec_file\" $trap_signals" >> $1
         fi
     fi
-    echo "export VCL_CONFIG=${vcl_config_dir}${vcl_config}" >> $1
+    if [ -n "$VCL_CONFIG" ] ; then
+        echo "export VCL_CONFIG=${vcl_config_dir}${vcl_config}" >> $1
+    fi
+    if [ -n "$VCL_DEBUG" ] ; then
+        echo "export VCL_DEBUG=$VCL_DEBUG" >> $1
+    fi
+    if [ -n "$VCOM_DEBUG" ] ; then
+        echo "export VCOM_DEBUG=$VCOM_DEBUG" >> $1
+    fi
+    if [ -n "$VCOM_APP_NAME" ] ; then
+        echo "export VCOM_APP_NAME=$VCOM_APP_NAME" >> $1
+    fi
+    if [ -n "$VCOM_SID_BIT" ] ; then
+        echo "export VCOM_SID_BIT=$VCOM_SID_BIT" >> $1
+    fi
     if [ -n "$namespace_id" ] ; then
         echo "export VCL_APP_NAMESPACE_ID=\"$namespace_id\"" >> $1
         echo "export VCL_APP_NAMESPACE_SECRET=\"$namespace_secret\"" >> $1
     fi
-    if [ -n "$VCL_APP_SCOPE_LOCAL" ] ; then
+    if [ -n "$VCL_APP_SCOPE_LOCAL" ] || [ -z "$multi_host" ] ; then
         echo "export VCL_APP_SCOPE_LOCAL=true" >> $1
     fi
-    if [ -n "$VCL_APP_SCOPE_GLOBAL" ] ; then
+    if [ -n "$VCL_APP_SCOPE_GLOBAL" ] || [ -n "$multi_host" ] ; then
         echo "export VCL_APP_SCOPE_GLOBAL=true" >> $1
     fi
     if [ -n "$VCL_APP_PROXY_TRANSPORT_TCP" ] ; then
@@ -575,7 +591,7 @@ write_gdb_cmdfile() {
     echo "set confirm off" >> $1
     if [ -n "$4" ] ; then
         echo "set exec-wrapper env LD_PRELOAD=$4" >> $1
-        echo "start" >> $1
+        echo "start" >> $1
     fi
 
     if [ ! -f $2 ] ; then
@@ -764,7 +780,7 @@ docker_preload() {
         gdb_cmdfile=$VPPCOM_SERVER_GDB_CMDFILE
         set_pre_cmd $emacs_server $gdb_server $docker_ld_preload_lib
         write_script_header $cmd2_file $tmp_gdb_cmdfile "$title2" "sleep 2"
-        echo "docker run -it -v $vpp_shm_dir:$vpp_shm_dir -v $vpp_dir:$docker_vpp_dir -v $lib64_dir:$docker_lib64_dir -v $ld_preload_dir:$docker_ld_preload_dir -v $vcl_config_dir:$docker_vcl_config_dir -p $sock_srvr_port:$sock_srvr_port -e VCL_CONFIG=${docker_vcl_config_dir}$vcl_config -e LD_LIBRARY_PATH=$docker_lib64_dir:$docker_ld_preload_dir ${docker_ld_preload}$docker_os ${docker_app_dir}${srvr_app}" >> $cmd2_file
+        echo "docker run -it -v $vpp_shm_dir:$vpp_shm_dir -v $vpp_dir:$docker_vpp_dir -v $lib64_dir:$docker_lib64_dir -v $ld_preload_dir:$docker_ld_preload_dir -v $vcl_config_dir:$docker_vcl_config_dir -p $sock_srvr_port:$sock_srvr_port -e VCL_DEBUG=$VCL_DEBUG -e VCL_CONFIG=${docker_vcl_config_dir}$vcl_config -e LD_LIBRARY_PATH=$docker_lib64_dir:$docker_ld_preload_dir ${docker_ld_preload}$docker_os ${docker_app_dir}${srvr_app}" >> $cmd2_file
         write_script_footer $cmd2_file $perf_server
         chmod +x $cmd2_file
     fi
@@ -776,7 +792,7 @@ docker_preload() {
         set_pre_cmd $emacs_client $gdb_client $docker_ld_preload_lib
         write_script_header $cmd3_file $tmp_gdb_cmdfile "$title3" "sleep 4"
         echo "$get_docker_server_ip4addr" >> $cmd3_file
-        echo "docker run -it --cpuset-cpus='4-7' -v $vpp_shm_dir:$vpp_shm_dir -v $vpp_dir:$docker_vpp_dir -v $lib64_dir:$docker_lib64_dir  -v $ld_preload_dir:$docker_ld_preload_dir -v $vcl_config_dir:$docker_vcl_config_dir -e VCL_CONFIG=${docker_vcl_config_dir}$vcl_config -e LD_LIBRARY_PATH=$docker_lib64_dir ${docker_ld_preload}$docker_os ${docker_app_dir}${clnt_app}" >> $cmd3_file
+        echo "docker run -it --cpuset-cpus='4-7' -v $vpp_shm_dir:$vpp_shm_dir -v $vpp_dir:$docker_vpp_dir -v $lib64_dir:$docker_lib64_dir  -v $ld_preload_dir:$docker_ld_preload_dir -v $vcl_config_dir:$docker_vcl_config_dir -e VCL_DEBUG=$VCL_DEBUG -e VCL_CONFIG=${docker_vcl_config_dir}$vcl_config -e LD_LIBRARY_PATH=$docker_lib64_dir ${docker_ld_preload}$docker_os ${docker_app_dir}${clnt_app}" >> $cmd3_file
         write_script_footer $cmd3_file $perf_client
         chmod +x $cmd3_file
     fi