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