#!/usr/bin/env bash SRC=$(cd $(dirname "$0"); pwd) source "${SRC}/include.sh" cd $file_path echo "Starting infinite loop tests" $pm2 start killtoofast.js --name unstable-process echo -n "Waiting for process to restart too many times and pm2 to stop it" for (( i = 0; i <= 50; i++ )); do sleep 0.1 echo -n "." done $pm2 list should 'should has stopped unstable process' 'errored' 1 $pm2 delete all echo "Start infinite loop tests for restart|reload" cp killnotsofast.js killthen.js $pm2 start killthen.js --name killthen $pm2 list should 'should killthen alive for a long time' 'online' 1 # Replace killthen file with the fast quit file sleep 15 cp killtoofast.js killthen.js echo "Restart with unstable process" $pm2 list $pm2 restart all # pm2 reload should also work here for (( i = 0; i <= 80; i++ )); do sleep 0.1 echo -n "." done $pm2 list should 'should has stoped unstable process' 'errored' 1 rm killthen.js $pm2 list $pm2 kill