78 lines
1.9 KiB
Bash
Executable File
78 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# UNITTEST: should work normally
|
|
# Will simulate a normal execution scenario. expects:
|
|
# - the configuration step to be run exactly once
|
|
# - the entrypoint script to exit with no error
|
|
# - the runsvc.sh script to run with the --once flag activated.
|
|
|
|
source ../logging.sh
|
|
|
|
entrypoint_log() {
|
|
while read I; do
|
|
printf "\tentrypoint.sh: $I\n"
|
|
done
|
|
}
|
|
|
|
log "Setting up the test"
|
|
export UNITTEST=true
|
|
export RUNNER_HOME=localhome
|
|
export RUNNER_NAME="example_runner_name"
|
|
export RUNNER_REPO="myorg/myrepo"
|
|
export RUNNER_TOKEN="xxxxxxxxxxxxx"
|
|
|
|
mkdir -p ${RUNNER_HOME}/bin
|
|
# add up the config.sh and runsvc.sh
|
|
ln -s ../config.sh ${RUNNER_HOME}/config.sh
|
|
ln -s ../../runsvc.sh ${RUNNER_HOME}/bin/runsvc.sh
|
|
|
|
cleanup() {
|
|
rm -rf ${RUNNER_HOME}
|
|
unset UNITTEST
|
|
unset RUNNERHOME
|
|
unset RUNNER_NAME
|
|
unset RUNNER_REPO
|
|
unset RUNNER_TOKEN
|
|
}
|
|
|
|
trap cleanup SIGINT SIGTERM SIGQUIT EXIT
|
|
|
|
log "Running the entrypoint"
|
|
log ""
|
|
|
|
../../../runner/entrypoint.sh 2> >(entrypoint_log)
|
|
|
|
if [ "$?" != "0" ]; then
|
|
error "=========================="
|
|
error "Test completed with errors"
|
|
exit 1
|
|
fi
|
|
|
|
log "Testing if the configuration step was run only once"
|
|
count=`cat ${RUNNER_HOME}/counter || echo "not_found"`
|
|
if [ ${count} != "1" ]; then
|
|
error "==============================================="
|
|
error "The configuration step was not run exactly once"
|
|
exit 1
|
|
fi
|
|
success "The configuration ran ${count} time(s)"
|
|
|
|
log "Testing if the configuration included the --ephemeral flag"
|
|
if grep -q -- '--ephemeral' ${RUNNER_HOME}/runner_config; then
|
|
error "==============================================="
|
|
error "The configuration should not include the --ephemeral flag"
|
|
exit 1
|
|
fi
|
|
|
|
log "Testing if runsvc ran"
|
|
if [ ! -f "${RUNNER_HOME}/runsvc_ran" ]; then
|
|
error "=============================="
|
|
error "The runner service has not run"
|
|
exit 1
|
|
fi
|
|
|
|
success "The service ran"
|
|
success ""
|
|
success "==========================="
|
|
success "Test completed successfully"
|