2 # Common shell routines for testing the REST API daemon
3 # Copyright (c) 2014 Red Hat.
6 # get standard environment, filters and checks
16 [ -f ${PCP_BINADM_DIR}/pmwebd ] || _notrun "pmwebd package not installed"
19 _check_requests_json()
21 version=`$python --version 2>&1 | sed -e 's/Python //'`
25 _notrun "requests.json() broken in Python $version"
30 _webapi_header_filter()
32 tee -a $here/$seq.full \
35 -e 's/^\(Content-Length:\) [0-9][0-9]*/\1 SIZE/g' \
36 -e 's/^\(Date:\).*/\1 DATE/g' \
37 -e 's/\(\"context\":\) [0-9][0-9]*/\1 CTXID/g' \
38 -e '/^Connection: Keep-Alive/d' \
39 | LC_COLLATE=POSIX sort
42 _webapi_response_filter()
44 tee -a $here/$seq.full \
46 | sed -e 's,#[0-9]*,####,g' \
47 -e 's/ connected$//g' \
48 -e '/^\* Adding handle: /d' \
49 -e '/^\* Closing connection ####/d' \
50 -e '/- Conn .*_pipe.*_pipe/d' \
51 -e '/Curl_[\.a-zA-Z0-9]*:/d' \
52 -e 's/::1/LOCALADDR/g' \
53 -e 's/127\.0\.0\.1/LOCALADDR/g' \
54 -e 's/PMWEBD error, .*/PMWEBD error, XXX/g' \
55 -e 's/localhost[\.a-zA-Z0-9]*/LOCALHOST/g' \
56 -e 's/Date:.*/Date: DATE/' \
57 -e 's/\[[0-9][0-9]* bytes data]/[data not shown]/' \
58 -e '/> User-Agent: /d' \
59 -e '/Connection: Keep-Alive/d' \
65 $python -c "from json.tool import main; main()" \
76 img = Image.open('$imgname')
77 print('size=%dx%d\n' % (img.size[0], img.size[1]))
87 echo "Must specify a web port (system default 44323)"
93 while ! $PCP_BINADM_DIR/telnet-probe -c localhost $webport
95 count=`expr $count + 1`
98 echo "pmwebd failed to start on port $webport"
99 echo "likely looking processes ..."
100 $PCP_PS_PROG $PCP_PS_ALL_FLAGS | egrep '[P]ID|[p]mwebd'
108 _wait_for_pmwebd_logfile()
115 echo "Must specify log (system default $PCP_LOG_DIR/pmwebd/pmwebd.log)"
121 _wait_for_pmwebd $webport
124 while [ ! -f "$logfile" ]
126 count=`expr $count + 1`
130 echo "pmwebd failed to start, $logfile not created"
131 echo "likely looking processes ..."
132 $PCP_PS_PROG $PCP_PS_ALL_FLAGS | egrep '[P]ID|[p]mwebd'
138 date >>$here/$seq.full
139 cat "$logfile" >>$here/$seq.full