parent
8062fc1913
commit
231beb5c3f
@ -0,0 +1,61 @@ |
|||||||
|
#!/bin/sh |
||||||
|
## |
||||||
|
## This script is part of the scorsh testbed. It must be executed by |
||||||
|
## the scorsh_testsuite script |
||||||
|
## |
||||||
|
|
||||||
|
. ./scorsh_functions |
||||||
|
|
||||||
|
### remove the directories if they exist already |
||||||
|
[ -d ${REMOTE_REPO} ] && rm -rf ${REMOTE_REPO} |
||||||
|
[ -d ${LOCAL_REPO} ] && rm -rf ${LOCAL_REPO} |
||||||
|
|
||||||
|
### create the repository |
||||||
|
git init --bare ${REMOTE_REPO} |
||||||
|
check "[ $? -eq 0 ]" $0 "create_remote_repo" |
||||||
|
|
||||||
|
### clone it |
||||||
|
git clone ${REMOTE_REPO} ${LOCAL_REPO} |
||||||
|
check "[ $? -eq 0 ]" $0 "clone_remote_repo" |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### create the directory where scorsh will be cloned |
||||||
|
mkdir ${SCORSH_REPO} |
||||||
|
check "[ $? -eq 0 ]" $0 "create_scorsh_repo_folder" |
||||||
|
|
||||||
|
### clone the scorsh repo |
||||||
|
olddir=$(pwd) |
||||||
|
cd ${SCORSH_REPO} |
||||||
|
git clone ${SCORSH_URL} ./ |
||||||
|
check "[ $? -eq 0 ]" $0 "clone_scorsh_repo" |
||||||
|
cd ${olddir} |
||||||
|
|
||||||
|
### make the scorshd executable |
||||||
|
olddir=$(pwd) |
||||||
|
cd ${SCORSH_REPO} |
||||||
|
make |
||||||
|
check "[ $? -eq 0 ]" $0 "make_scorshd" |
||||||
|
cd ${olddir} |
||||||
|
|
||||||
|
|
||||||
|
### create the directory where the scorsh app will run |
||||||
|
mkdir ${SCORSH_APP} |
||||||
|
check "[ $? -eq 0 ]" $0 "create_scorsh_app_folder" |
||||||
|
|
||||||
|
|
||||||
|
### create spool directory |
||||||
|
mkdir "${SCORSH_APP}/spool" |
||||||
|
check "[ -$? -eq 0 ]" $0 "create_spool_folder" |
||||||
|
|
||||||
|
|
||||||
|
### configure the remote to be used with scorsh |
||||||
|
cd ${REMOTE_REPO} |
||||||
|
git config -f scorsh scorsh.spooldir $(realpath "${SCORSH_APP}/spool") |
||||||
|
check "[ $? -eq 0 ]" $0 "config_remote_repo" |
||||||
|
cd - |
||||||
|
|
||||||
|
|
||||||
|
return_results |
@ -0,0 +1,22 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
|
||||||
|
. ./scorsh_functions |
||||||
|
|
||||||
|
### kill scroshd, if it's running |
||||||
|
if [ -f "${SCORSH_APP}/scorshd.pid" ]; then |
||||||
|
kill -9 $(cat "${SCORSH_APP}/scorshd.pid") |
||||||
|
fi |
||||||
|
|
||||||
|
### remove all the folders |
||||||
|
rm -rf ${SCORSH_REPO} |
||||||
|
rm -rf ${SCORSH_APP} |
||||||
|
rm -rf ${REMOTE_REPO} |
||||||
|
rm -rf ${LOCAL_REPO} |
||||||
|
|
||||||
|
check "[ ! -d \"${SCORSH_REPO}\" ]" $0 "remove_scorsh_repo" |
||||||
|
check "[ ! -d \"${SCORSH_APP}\" ]" $0 "remove_scorsh_app" |
||||||
|
check "[ ! -d \"${REMOTE_REPO}\" ]" $0 "remove_remote_repo" |
||||||
|
check "[ ! -d \"${LOCAL_REPO}\" ]" $0 "remove_local_repo" |
||||||
|
|
||||||
|
return_results |
@ -0,0 +1,56 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
STATUS_FILE=./.exit_status |
||||||
|
|
||||||
|
## func |
||||||
|
failed(){ |
||||||
|
|
||||||
|
TEST_NAME="$1" |
||||||
|
TEST_SECTION="$2" |
||||||
|
|
||||||
|
echo "[\033[31mFAILED\033[0m] -- ${TEST_NAME}:${TEST_SECTION} " |
||||||
|
FAILED_TESTS=$((${FAILED_TESTS} + 1)) |
||||||
|
} |
||||||
|
|
||||||
|
## func |
||||||
|
passed(){ |
||||||
|
|
||||||
|
TEST_NAME="$1" |
||||||
|
TEST_SECTION="$2" |
||||||
|
|
||||||
|
echo "[\033[32mPASSED\033[0m] -- ${TEST_NAME}:${TEST_SECTION} " |
||||||
|
PASSED_TESTS=$((${PASSED_TESTS} + 1)) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
## func |
||||||
|
check(){ |
||||||
|
|
||||||
|
EXPR="$1" |
||||||
|
TEST_NAME="$2" |
||||||
|
TEST_SECTION="$3" |
||||||
|
|
||||||
|
TOT_TESTS=$((${TOT_TESTS} + 1)) |
||||||
|
|
||||||
|
##echo "EXPR: ${EXPR}" |
||||||
|
if $(echo ${EXPR}) ; then |
||||||
|
passed ${TEST_NAME} ${TEST_SECTION} |
||||||
|
else |
||||||
|
failed ${TEST_NAME} ${TEST_SECTION} |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
## func |
||||||
|
report_results(){ |
||||||
|
|
||||||
|
echo -n "TOTAL_TESTS: ${TOT_TESTS} -- " |
||||||
|
echo -n "\033[32mPASSED: ${PASSED_TESTS}\033[0m -- " |
||||||
|
echo "\033[31mFAILED: ${FAILED_TESTS}\033[0m " |
||||||
|
} |
||||||
|
|
||||||
|
# func |
||||||
|
return_results(){ |
||||||
|
echo "TOT_TESTS=${TOT_TESTS};PASSED_TESTS=${PASSED_TESTS};FAILED_TESTS=${FAILED_TESTS};">${STATUS_FILE} |
||||||
|
} |
||||||
|
|
||||||
|
|
@ -0,0 +1,57 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
#### |
||||||
|
## |
||||||
|
## testsuite for SCORSH |
||||||
|
## |
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then |
||||||
|
echo "Usage: $0 <spec_file>" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
. ./scorsh_functions |
||||||
|
|
||||||
|
[ -f "$1" ] || ( echo "Unable to open file $1" && exit 2 ) |
||||||
|
|
||||||
|
. "$1" |
||||||
|
|
||||||
|
|
||||||
|
trap cleanup 0 HUP INT TRAP TERM QUIT |
||||||
|
|
||||||
|
## func |
||||||
|
cleanup(){ |
||||||
|
## do stuff here |
||||||
|
rm -rf ${SCORSH_REPO} |
||||||
|
rm -rf ${SCORSH_APP} |
||||||
|
rm -rf ${REMOTE_REPO} |
||||||
|
rm -rf ${LOCAL_REPO} |
||||||
|
|
||||||
|
echo "Exiting..." |
||||||
|
} |
||||||
|
|
||||||
|
## func |
||||||
|
run_tests(){ |
||||||
|
|
||||||
|
for t in $TESTS; do |
||||||
|
export PASSED_TESTS FAILED_TESTS TOT_TESTS |
||||||
|
echo "\033[4;7;36m-+-+- running tests in $t -+-+-\033[0m" |
||||||
|
$t |
||||||
|
eval $(cat ${STATUS_FILE}) |
||||||
|
echo "\033[35m-------------------------------------------------------------\033[0m" |
||||||
|
|
||||||
|
done |
||||||
|
export PASSED_TESTS FAILED_TESTS TOT_TESTS |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
## main |
||||||
|
|
||||||
|
export SCORSH_URL SCORSH_REPO SCORSH_APP REMOTE_REPO LOCAL_REPO |
||||||
|
PASSED_TESTS=0 |
||||||
|
FAILED_TESTS=0 |
||||||
|
TOT_TESTS=0 |
||||||
|
|
||||||
|
run_tests |
||||||
|
|
||||||
|
report_results |
@ -0,0 +1,27 @@ |
|||||||
|
## |
||||||
|
## Definition of constants to be used by the testbed |
||||||
|
## |
||||||
|
|
||||||
|
## SCORSH_URL: URL of the git repo for scorsh |
||||||
|
SCORSH_URL="http://github.com/dyne/scorsh" |
||||||
|
|
||||||
|
## SCORSH_REPO: folder where the scorsh repo will be cloned |
||||||
|
SCORSH_REPO=$(realpath "./scorsh/") |
||||||
|
|
||||||
|
## SCORSH_APP: path where the scorsh app will be installed |
||||||
|
SCORSH_APP=$(realpath "./scorsh_app/") |
||||||
|
|
||||||
|
## REMOTE_REPO: path of the folder where the "remote" repo will be |
||||||
|
## created |
||||||
|
REMOTE_REPO=$(realpath "./testbed_remote.git") |
||||||
|
|
||||||
|
## LOCAL_REPO: folder where REMOTE_REPO will be cloned |
||||||
|
LOCAL_REPO=$(realpath "./testbed_repo") |
||||||
|
|
||||||
|
|
||||||
|
TESTS="\ |
||||||
|
./create_testbed.sh \ |
||||||
|
./destroy_testbed.sh \ |
||||||
|
" |
||||||
|
|
||||||
|
##./destroy_testbed.sh \ |
Loading…
Reference in new issue