pm2/test/bash/log-timestamp.sh
2014-12-03 08:33:16 +08:00

106 lines
2.0 KiB
Bash

#!/usr/bin/env bash
SRC=$(cd $(dirname "$0"); pwd)
source "${SRC}/include.sh"
function head {
echo -e "\x1B[1;35m$1\x1B[0m"
}
function rm_pm2log {
if [ "$1" -ne 1 ]; then
$pm2 kill
rm -rf ~/.pm2/pm2.log
fi
}
function grep_log {
if [ -z $TRAVIS ]; then
echo "not travis"
eval "$pm2 $1"
sleep 0.3
OUT=`cat ~/.pm2/pm2.log | grep -n "[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\}" | wc -l`
else
echo "travis"
eval "$pm2 $1 >| pm2.log"
sleep 0.3
OUT=`cat pm2.log | grep -n "[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\}" | wc -l`
fi
}
function no_prefix {
eval "grep_log \"$1\""
echo "line count: $OUT"
[ $OUT -eq 0 ] || fail "expect no timestamp prefix in pm2.log, but currently existing."
success "have no timestamp prefix"
rm_pm2log "$2"
}
function prefix {
eval "grep_log \"$1\""
echo "line count: $OUT"
[ $OUT -ne 0 ] || fail "expect have timestamp prefix in pm2.log, but currently does not exist."
success "have timestamp prefix"
rm_pm2log "$2"
}
cd $file_path
$pm2 kill
sleep 0.5
if [ -z $TRAVIS ]
then
echo "removing pm2.log"
rm -rf ~/.pm2/pm2.log
fi
unset PM2_LOG_DATE_FORMAT
export PM2_LOG_DATE_FORMAT=""
head ">> LIST (NO PREFIX)"
no_prefix "ls" 0
head ">> START (NO PREFIX)"
no_prefix "start echo.js" 1
head ">> RESTART (NO PREFIX)"
no_prefix "restart echo" 1
head ">> STOP (NO PREFIX)"
no_prefix "stop echo" 0
head ">> START JSON (NO PREFIX)"
no_prefix "start echo-pm2.json" 1
head ">> RESTART JSON (NO PREFIX)"
no_prefix "restart echo-pm2.json" 1
head ">> STOP-JSON (NO PREFIX)"
no_prefix "stop echo-pm2.json" 0
export PM2_LOG_DATE_FORMAT="YYYY-MM-DD HH:mm Z"
head ">> LIST (PREFIX)"
prefix "ls" 0
head ">> START (PREFIX)"
prefix "start echo.js" 1
head ">> RESTART (PREFIX)"
prefix "restart echo" 1
head ">> STOP (PREFIX)"
prefix "stop echo" 0
head ">> START JSON (PREFIX)"
prefix "start echo-pm2.json" 1
head ">> RESTART JSON (PREFIX)"
prefix "restart echo-pm2.json" 1
head ">> STOP-JSON (PREFIX)"
prefix "restart echo-pm2.json" 0
rm -rf pm2.log
unset PM2_LOG_DATE_FORMAT
touch ~/.pm2/pm2.log