pm2/test/bash/pmx_injection.sh

46 lines
1.2 KiB
Bash

#!/usr/bin/env bash
SRC=$(cd $(dirname "$0"); pwd)
source "${SRC}/include.sh"
cd $file_path
function should_more {
sleep 0.5
$pm2 jlist > /tmp/tmp_out.txt
OUT=`cat /tmp/tmp_out.txt | grep -o "$2" | wc -l`
[ $OUT -eq $3 ] || fail "$1"
success "$1"
}
echo "################## PMX INJECTION ###################"
echo "Testing pmx injection in fork mode"
$pm2 start child.js
sleep 1
should 'should have injected pmx in fork mode' 'Loop delay' 1
should_more 'should not have http monitored in fork mode' 'pmx:http:latency' 0
$pm2 delete all
$pm2 start child.js -i 2
sleep 1
should 'should have injected pmx in cluster mode' 'Loop delay' 2
should_more 'should have http monitored in cluster mode' 'pmx:http:latency' 2
echo "################## PMX OPTIONS OVERRIDE ###################"
$pm2 delete all
$pm2 start child_no_http.js
sleep 1
should_more 'should not have http monitored in fork mode' '"latency":true' 0
should_more 'should not have http monitored in fork mode' '"latency":false' 1
$pm2 delete all
$pm2 start child_no_http.js -i 2
sleep 1
should_more 'should not have http monitored in cluster mode' '"latency":true' 0
should_more 'should not have http monitored in cluster mode' '"latency":false' 2
$pm2 kill