X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fapp_test%2Frun_multi_test.ksh;h=99a147b4e43382e2c40deed83fe9f8284535bd27;hb=77406e61f2158f5b88b7a9f6e3e86d8f62c8f71a;hp=ef293362bbc174d795fca6da8986a903ed41c1d6;hpb=4c42c80d426a3499ca47ce1849032cda1bd5ff8f;p=ric-plt%2Flib%2Frmr.git diff --git a/test/app_test/run_multi_test.ksh b/test/app_test/run_multi_test.ksh index ef29336..99a147b 100644 --- a/test/app_test/run_multi_test.ksh +++ b/test/app_test/run_multi_test.ksh @@ -1,5 +1,5 @@ #!/usr/bin/env ksh -# :vi ts=4 sw=4 noet : +# vim: ts=4 sw=4 noet : #================================================================================== # Copyright (c) 2019 Nokia # Copyright (c) 2018-2019 AT&T Intellectual Property. @@ -21,7 +21,7 @@ # --------------------------------------------------------------------------------- # Mnemonic: run_multi_test.ksh # Abstract: This is a simple script to set up and run the basic send/receive -# processes for some library validation on top of nano/nng. This +# processes for some library validation on top of nng. This # particular tests starts several receivers and creates a route table # which causes messages to be sent to all receivers in parallel # (forcing message cloning internally in RMr). @@ -31,7 +31,6 @@ # # Example command line: # ksh ./run_multi_test.ksh # default 10 messages at 1 msg/sec -# ksh ./run_multi_test.ksh -N # default but with nanomsg lib # ksh ./run_multi_test.ksh -d 100 -n 10000 # send 10k messages with 100ms delay between # # Date: 24 April 2019 @@ -40,15 +39,13 @@ # The sender and receivers are run asynch. Their exit statuses are captured in a -# file in order for the 'main' to pick them up easily. +# file in order for the 'main' to pick them up easily. For the multi test the +# async connect must be DISABLED because in some environments (um, jenkins) the +# session connect time lags enough that the first message can be dropped silently. +# It doesn't happen all of the time, but frequently enough to be annoying. # function run_sender { - if (( $nano_sender )) - then - ./sender_nano $nmsg $delay - else - ./sender $nmsg $delay - fi + RMR_ASYNC_CONN=0 ./sender $nmsg $delay echo $? >/tmp/PID$$.src # must communicate state back via file b/c asynch } @@ -58,12 +55,7 @@ function run_rcvr { port=$(( 4460 + ${1:-0} )) export RMR_RTG_SVC=$(( 9990 + $1 )) - if (( $nano_receiver )) - then - ./receiver_nano $nmsg $port - else - ./receiver $nmsg $port - fi + ./receiver $nmsg $port echo $? >/tmp/PID$$.$1.rrc } @@ -107,10 +99,9 @@ fi nmsg=10 # total number of messages to be exchanged (-n value changes) delay=1000000 # microsec sleep between msg 1,000,000 == 1s -nano_sender=0 # start nano version if set (-N) -nano_receiver=0 wait=1 rebuild=0 +nopull="" verbose=0 nrcvrs=3 # this is sane, but -r allows it to be set up @@ -118,17 +109,15 @@ while [[ $1 == -* ]] do case $1 in -B) rebuild=1;; + -b) rebuild=1; nopull="nopull";; # enable build but without pull -d) delay=$2; shift;; - -N) nano_sender=1 - nano_receiver=1 - ;; -n) nmsg=$2; shift;; -r) nrcvrs=$2; shift;; -v) verbose=1;; *) echo "unrecognised option: $1" - echo "usage: $0 [-B] [-d micor-sec-delay] [-N] [-n num-msgs]" - echo " -B forces a rebuild which will use .build" + echo "usage: $0 [-B] [-d micor-sec-delay] [-n num-msgs]" + echo " -B forces an RMR rebuild which will use .build" exit 1 ;; esac @@ -144,9 +133,8 @@ fi if (( rebuild )) then - build_path=../../.build # if we rebuild we can insist that it is in .build :) set -e - ksh ./rebuild.ksh + ksh ./rebuild.ksh $nopull | read build_path set +e else build_path=${BUILD_PATH:-"../../.build"} # we prefer .build at the root level, but allow user option