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