mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
94 lines
2.7 KiB
Bash
94 lines
2.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
SRC=$(cd $(dirname "$0"); pwd)
|
|
source "${SRC}/include.sh"
|
|
|
|
echo -e "\033[1mRunning tests:\033[0m"
|
|
|
|
cd $file_path
|
|
|
|
$pm2 interact kill
|
|
|
|
#
|
|
# Testing pull,forward,backward methods
|
|
#
|
|
|
|
if [ $TRAVIS ]
|
|
then
|
|
git config --global user.email "jshkurti@student.42.fr"
|
|
git config --global user.name "jshkurti"
|
|
fi
|
|
|
|
rm -rf ./app-playground
|
|
|
|
git clone https://github.com/keymetrics/app-playground.git
|
|
|
|
cd app-playground
|
|
|
|
git checkout hotfix
|
|
|
|
# set max_memory_restart to 160M by default. MAC does not support `sed -i`
|
|
echo `sed -e 's/"160"/"160M"/' process.json` >| process.json
|
|
|
|
$pm2 start ./process.json --name app
|
|
sleep 5
|
|
|
|
|
|
OUT=`$pm2 ls | grep errored | wc -l`
|
|
[ $OUT -eq 1 ] || fail "Process should be errored because node_modules are missing"
|
|
success "Process should be errored because node_modules are missing"
|
|
|
|
OUT=`$pm2 info 0 | grep remote | egrep -oh 'https://([^ ]+)'`
|
|
[ $OUT = "https://github.com/keymetrics/app-playground.git" ] || fail "Remote URL should be right"
|
|
success "Remote URL should be right"
|
|
|
|
OUT=`$pm2 backward app | wc -l`
|
|
[ $OUT -eq 13 ] || fail "Backward method should work properly and print adequate output"
|
|
success "Backward method should work properly and print adequate output"
|
|
|
|
OUT=`$pm2 forward app | wc -l`
|
|
[ $OUT -eq 13 ] || fail "Forward method should work properly and print adequate output"
|
|
success "Forward method should work properly and print adequate output"
|
|
|
|
OUT=`$pm2 forward app | wc -l`
|
|
[ $OUT -eq 2 ] || fail "Forward method should fail and thus print 2-lined output"
|
|
success "Forward method should fail and thus print 2-lined output"
|
|
|
|
OUT=`$pm2 pull app | wc -l`
|
|
[ $OUT -eq 2 ] || fail "Pull method should 'fail' because it is already up-to-date"
|
|
success "Pull method should 'fail' because it is already up-to-date"
|
|
|
|
export PM2_WORKER_INTERVAL=1000
|
|
|
|
$pm2 kill
|
|
|
|
$pm2 start ./process.json --name app
|
|
sleep 5
|
|
|
|
#
|
|
# Testing refresh-versioning worker
|
|
#
|
|
|
|
OUT=`$pm2 jlist | egrep -oh '"unstaged":true' | wc -c`
|
|
[ $OUT -eq 16 ] || fail "Worker: unstaged flag should be true"
|
|
success "Worker: unstaged flag should be true"
|
|
|
|
git add --all
|
|
git commit -m 'staged now'
|
|
sleep 5
|
|
OUT=`$pm2 jlist | egrep -oh '"unstaged":false' | wc -c`
|
|
[ $OUT -eq 17 ] || fail "Worker: unstaged flag should be false this time"
|
|
success "Worker: unstaged flag should be false this time"
|
|
|
|
OUT=`$pm2 jlist | egrep -oh '"ahead":true' | wc -c`
|
|
[ $OUT -eq 13 ] || fail "Worker: ahead flag should be true"
|
|
success "Worker: ahead flag should be true"
|
|
|
|
OUT=`$pm2 pull app 83dfc32383a84e146005d8981bcae2c52a5b123b | egrep -oh 'Current commit 83dfc32383a84e146005d8981bcae2c52a5b123b' | wc -c`
|
|
[ $OUT -eq 56 ] || fail "Commit ID should be correct"
|
|
success "Commit ID should be correct"
|
|
|
|
$pm2 kill
|
|
cd ..
|
|
rm -rf ./app-playground
|