3 #----------------------------------------------------------------------------------
5 # Copyright (c) 2018-2019 AT&T Intellectual Property.
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
19 #---------------------------------------------------------------------------------
22 # ----------------------------------------------------------------------
24 # Abstract: Simple script to attempt to verify that the mc_listener is
25 # capable of running. This will start a listener and a sender
26 # and then will cat a few lines from one of the FIFOs.
27 # This script is designed to run using the geneated runtime
28 # image; in other words, it expects to find the binaries
31 # Date: 26 August 2019
32 # Author: E. Scott Daniels
33 # ----------------------------------------------------------------------
35 # run sender at a 2 msg/sec rate (500000 musec delay)
36 # sender sends msg types 0-6 and the route table in /tmp
37 # will direct them to the listener. We also need to switch
38 # the RT listen port so there is no collision with the listen
42 echo "starting sender"
43 RMR_SEED_RT=/tmp/local.rt RMR_RTG_SVC=9989 /playpen/bin/sender 43086 10000 >/tmp/sender.log 2>&1 &
47 echo "stopping sender"
51 function run_listener {
52 echo "starting listener"
53 /playpen/bin/mc_listener $ext_hdr -r 1 -d $fifo_dir >/tmp/listen.log 2>&1 &
57 echo "stopping listener"
61 # run a pipe reader for one message type
63 echo "starting pipe reader $1"
64 /playpen/bin/pipe_reader $ext_hdr -m $1 -d $fifo_dir >/tmp/pr.$1.log 2>&1 &
65 #/playpen/bin/pipe_reader -m $1 -d $fifo_dir & # >/tmp/pr.$1.log 2>&1
69 echo "stopping pipe reader $1"
73 # generate a dummy route table that the sender needs
75 cat <<endKat >/tmp/local.rt
77 mse | 0 | -1 | localhost:4560
78 mse | 1 | -1 | localhost:4560
79 mse | 2 | -1 | localhost:4560
80 mse | 3 | -1 | localhost:4560
81 mse | 4 | -1 | localhost:4560
82 mse | 5 | -1 | localhost:4560
83 mse | 6 | -1 | localhost:4560
88 # ---- run everything ---------------------------------------------------
90 ext_hdr="" # run with extended header enabled (-e turns extended off)
92 mkdir -p $fifo_dir # redirect fifos so we don't depend on mount
94 gen_rt # generate a dummy route table
98 for p in 0 1 2 3 4 5 6
105 sleep 20 # long enough for all functions to finish w/o having to risk a wait hanging
106 echo "all functions stopped; looking at logs"
108 # ---------- validation -------------------------------------------------
112 # logs should be > 0 in size
113 echo "----- logs ---------"
116 # pipe reader log files 1-6 should have 'stand up and cheer' messages
117 # pipe reader log for MT 0 will likley be empty as sender sends only
118 # one of those and buffer not likely flushed. So, we only check 1-6
122 if [[ ! -s /tmp/pr.$l.log ]]
124 echo "[FAIL] log $l was empty"
127 if ! grep -q -i "stand up and cheer" /tmp/pr.$l.log
129 echo "[FAIL] pipe reader log did not have any valid messages: /tmp/pr.$l.log"
137 echo "[OK] All logs seem good"
140 nfifos=$( ls /tmp/fifos/MT_* | wc -l )
143 echo "didn't find enough fifos"
147 echo "[OK] Found expected fifos"
152 echo "[FAIL] $errors errors noticed"