tests: Add imag-store tests
This commit is contained in:
parent
10fa3e3daf
commit
7a403c7f93
2 changed files with 110 additions and 0 deletions
49
imag-store/tests/001-create_test.sh
Normal file
49
imag-store/tests/001-create_test.sh
Normal file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
source $(dirname ${BASH_SOURCE[0]})/utils.sh
|
||||
|
||||
test_call() {
|
||||
imag-store create -p /test-call
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
err "Return value should be zero, was non-zero"
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
test_mkstore() {
|
||||
imag-store create -p /test-mkstore || { err "Calling imag failed"; return 1; }
|
||||
if [[ -d ${STORE} ]]; then
|
||||
out "Store exists."
|
||||
else
|
||||
err "No store created"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
test_std_header() {
|
||||
local expected=$(cat <<EOS
|
||||
---
|
||||
[imag]
|
||||
links = []
|
||||
version = "0.1.0"
|
||||
---
|
||||
|
||||
EOS
|
||||
)
|
||||
|
||||
imag-store create -p /test-std-header
|
||||
local result=$(cat ${STORE}/test-std-header)
|
||||
if [[ "$expected" == "$result" ]]; then
|
||||
out "Expected store entry == result"
|
||||
else
|
||||
err "${STORE}/test differs from expected"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
invoke_tests \
|
||||
test_call \
|
||||
test_mkstore \
|
||||
test_std_header \
|
||||
test_std_header_plus_custom
|
||||
|
61
imag-store/tests/utils.sh
Normal file
61
imag-store/tests/utils.sh
Normal file
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
COLOR_OFF='\e[0m' # Text Reset
|
||||
RED='\e[0;31m' # Red
|
||||
YELLOW='\e[0;33m' # Yellow
|
||||
GREEN='\e[0;32m' # Green
|
||||
|
||||
RUNTIME="/tmp"
|
||||
STORE="${RUNTIME}/store"
|
||||
|
||||
out() {
|
||||
echo -e "${YELLOW}:: $*${COLOR_OFF}"
|
||||
}
|
||||
|
||||
success() {
|
||||
echo -e "${GREEN}>> $*${COLOR_OFF}"
|
||||
}
|
||||
|
||||
err() {
|
||||
echo -e "${RED}!! $*${COLOR_OFF}"
|
||||
}
|
||||
|
||||
imag-store() {
|
||||
local searchdir=$(dirname ${BASH_SOURCE[0]})/../target/debug/
|
||||
[[ -d $searchdir ]] || { err "FATAL: No directory $searchdir"; exit 1; }
|
||||
local bin=$(find $searchdir -iname imag-store -type f -executable)
|
||||
local flags="--debug --rtp $RUNTIME"
|
||||
out "Calling '$bin $flags $*'"
|
||||
$bin $flags $*
|
||||
}
|
||||
|
||||
reset_store() {
|
||||
rm -r "${STORE}"
|
||||
}
|
||||
|
||||
call_test() {
|
||||
out "-- TESTING: '$1' --"
|
||||
$1
|
||||
result=$?
|
||||
if [[ -z "$DONT_RESET_STORE" ]]; then
|
||||
out "Reseting store"
|
||||
reset_store
|
||||
out "Store reset done"
|
||||
fi
|
||||
[[ $result -eq 0 ]] || { err "-- FAILED: '$1'. Exiting."; exit 1; }
|
||||
success "-- SUCCESS: '$1' --"
|
||||
}
|
||||
|
||||
invoke_tests() {
|
||||
out "Invoking tests."
|
||||
if [[ ! -z "$INVOKE_TEST" ]]; then
|
||||
out "Invoking only $INVOKE_TEST"
|
||||
call_test "$INVOKE_TEST"
|
||||
else
|
||||
out "Invoking $*"
|
||||
for t in $*; do
|
||||
call_test "$t"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in a new issue