mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 18:52:50 +00:00
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# cli-test: Tests for forever CLI
|
|
#
|
|
# (C) 2012 Charlie Robbins & the Contributors
|
|
# MIT LICENSE
|
|
#
|
|
|
|
# Yes, we have tests in bash. How mad science is that?
|
|
|
|
alias forever=bin/forever
|
|
script="test/fixtures/log-on-interval.js"
|
|
|
|
function fail {
|
|
echo "\033[31m ✘ $1\033[0m"
|
|
exit 1
|
|
}
|
|
|
|
function success {
|
|
echo "\033[32m ✔ $1\033[0m"
|
|
}
|
|
|
|
function spec {
|
|
[ $? -eq 0 ] || fail "$1"
|
|
success "$1"
|
|
}
|
|
|
|
echo "\033[1mRunning tests:\033[0m"
|
|
|
|
# First kill all processes and remove forever directory to ensure clean
|
|
# environment
|
|
forever stopall
|
|
rm -rf ~/.forever
|
|
|
|
# Spawn some process
|
|
forever start "$script"
|
|
|
|
# Assert that forever actually spawned a process and that it's in `forever list`
|
|
sleep 1 # it takes some time until process appears in `forever list`
|
|
forever list | grep "$script"
|
|
spec "\`forever list\` should contain spawned process"
|
|
|
|
# `forever stop` should output process it stopped...
|
|
forever stop 0 | grep "$script"
|
|
spec "\`forever stop 0\` should contain stopped process"
|
|
|
|
# ... and actually stop it
|
|
forever list | grep -v "$script"
|
|
spec "\`forever stop 0\` should actually stop the process"
|
|
|