52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
printf "### start preparation ###\n"
|
|
|
|
WORKPATH=$(dirname ${0})
|
|
printf ">> workpath is %s\n" ${WORKPATH}
|
|
|
|
LOG_DIR="${WORKPATH}/../storage/logs/tests"
|
|
printf ">> log-dir is %s\n" ${LOG_DIR}
|
|
|
|
printf ">> create and truncate log dir\n"
|
|
mkdir -p ${LOG_DIR}
|
|
rm -rf ${LOG_DIR}/*
|
|
|
|
printf ">> truncate and migrate database\n"
|
|
php artisan migrate:fresh --env=testing --quiet
|
|
|
|
printf ">> cleaning previous tests ###\n"
|
|
${WORKPATH}/../vendor/bin/codecept clean
|
|
printf "### finish preparation ###\n"
|
|
|
|
printf "### start tests ###\n"
|
|
|
|
SUCCESS=1
|
|
execSuite() {
|
|
${WORKPATH}/../vendor/bin/codecept run ${1} \
|
|
--xml report_${1}.xml ${CODECEPT_OPTIONS} | tee ${LOG_DIR}/tests_${1}.log
|
|
if [[ ${PIPESTATUS[0]} -ne 0 ]]
|
|
then
|
|
SUCCESS=0
|
|
fi
|
|
}
|
|
|
|
execSuite unit
|
|
execSuite functional
|
|
|
|
if [[ ${?} -ne 0 ]]
|
|
then
|
|
SUCCESS=0
|
|
fi
|
|
|
|
printf "### finish tests ###\n"
|
|
|
|
if [[ ${SUCCESS} -eq 1 ]]
|
|
then
|
|
printf ">> all tests are \e[01;32mgreen\e[0m\n"
|
|
exit 0
|
|
else
|
|
printf ">> at least one test is \e[01;31mred\e[0m\n"
|
|
exit 1
|
|
fi
|