From fe781e5ae7116733e5b335a0ac016af97266db5f Mon Sep 17 00:00:00 2001 From: Anastasis Grammenos Date: Mon, 8 Oct 2018 23:47:07 +0300 Subject: Way better Edit --- res/check_ck | 112 ----------------------------------------------------------- res/test-ck | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 112 deletions(-) delete mode 100755 res/check_ck create mode 100755 res/test-ck (limited to 'res') diff --git a/res/check_ck b/res/check_ck deleted file mode 100755 index 423d3bd..0000000 --- a/res/check_ck +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash - -BIN=$(realpath @CMAKE_BINARY_DIR@) # solve symlink problems -TEST_LOCATION=$(realpath @PROJECT_TESTING_GROUNDS@) - -# used in regression tests -function running { - echo "[$COUNT/$TOTAL] testing $1" - ((++COUNT)) -} - -# used in regression tests -function init { - running $1 - mkdir -p $TEST_LOCATION/vc - mkdir $TEST_LOCATION/sec - - exec $BIN/ck conf $BIN init $TEST_LOCATION/vc $TEST_LOCATION/sec > /dev/null & - wait $! -} - -function add_config { - echo -e "test $2\n$3" > $2 - exec $BIN/ck -c $BIN -a $1 $2 > /dev/null & - wait $! - - if [ $? -ne 0 ]; then - err "ck crashed." - fi -} - -function clear_tests { - rm $BIN/ckrc - rm $BIN/ckdb - rm $BIN/test*.conf - rm -rf $TEST_LOCATION -} - -function unit_tests { - echo -e "Unit Tests:" - echo -e "~~~~~~~~~~~" - ./ck-test -} - -function regression_tests { - echo -e "Regression Tests:" - echo -e "~~~~~~~~~~~~~~~~~" - DIR=@BIN_TESTS_DIR@ - COUNT=1 - TOTAL=$(ls $DIR | wc -l) - for i in $(ls $DIR); do - ERROR="TEST "$i" FAILED:" - PASS="=> $i passed\n" - source $DIR/$i - wait $! - done -} - -function err { - echo -e "$ERROR $1" - clear_tests - exit 1 -} - -function run { - unit_tests - regression_tests -} - -function print_help { - echo -e "ck test suite" - echo -e "use without flags to run all tests" - echo -e "\nflags:" - echo -e " -u, --unit\t\trun only the unit tests" - echo -e " -r, --regression\trun only the regression tests" - echo -e " -c, --clear\t\tremove test files" - echo -e " \t\t use if the tests crush unexpectedly" - echo -e " -h, --help, *\t\tprint this" - exit -} - -if [[ $# -gt 1 ]]; then - print_help -fi - -while [[ $# -gt 0 ]] -do - key="$1" - case $key in - -h | --help) - print_help - ;; - -c | --clear) - clear_tests - exit - ;; - -u | --unit) - unit_tests - exit - ;; - -r | --regression) - regression_tests - exit - ;; - *) # unknown option - print_help - exit - ;; - esac -done - -run diff --git a/res/test-ck b/res/test-ck new file mode 100755 index 0000000..423d3bd --- /dev/null +++ b/res/test-ck @@ -0,0 +1,112 @@ +#!/bin/bash + +BIN=$(realpath @CMAKE_BINARY_DIR@) # solve symlink problems +TEST_LOCATION=$(realpath @PROJECT_TESTING_GROUNDS@) + +# used in regression tests +function running { + echo "[$COUNT/$TOTAL] testing $1" + ((++COUNT)) +} + +# used in regression tests +function init { + running $1 + mkdir -p $TEST_LOCATION/vc + mkdir $TEST_LOCATION/sec + + exec $BIN/ck conf $BIN init $TEST_LOCATION/vc $TEST_LOCATION/sec > /dev/null & + wait $! +} + +function add_config { + echo -e "test $2\n$3" > $2 + exec $BIN/ck -c $BIN -a $1 $2 > /dev/null & + wait $! + + if [ $? -ne 0 ]; then + err "ck crashed." + fi +} + +function clear_tests { + rm $BIN/ckrc + rm $BIN/ckdb + rm $BIN/test*.conf + rm -rf $TEST_LOCATION +} + +function unit_tests { + echo -e "Unit Tests:" + echo -e "~~~~~~~~~~~" + ./ck-test +} + +function regression_tests { + echo -e "Regression Tests:" + echo -e "~~~~~~~~~~~~~~~~~" + DIR=@BIN_TESTS_DIR@ + COUNT=1 + TOTAL=$(ls $DIR | wc -l) + for i in $(ls $DIR); do + ERROR="TEST "$i" FAILED:" + PASS="=> $i passed\n" + source $DIR/$i + wait $! + done +} + +function err { + echo -e "$ERROR $1" + clear_tests + exit 1 +} + +function run { + unit_tests + regression_tests +} + +function print_help { + echo -e "ck test suite" + echo -e "use without flags to run all tests" + echo -e "\nflags:" + echo -e " -u, --unit\t\trun only the unit tests" + echo -e " -r, --regression\trun only the regression tests" + echo -e " -c, --clear\t\tremove test files" + echo -e " \t\t use if the tests crush unexpectedly" + echo -e " -h, --help, *\t\tprint this" + exit +} + +if [[ $# -gt 1 ]]; then + print_help +fi + +while [[ $# -gt 0 ]] +do + key="$1" + case $key in + -h | --help) + print_help + ;; + -c | --clear) + clear_tests + exit + ;; + -u | --unit) + unit_tests + exit + ;; + -r | --regression) + regression_tests + exit + ;; + *) # unknown option + print_help + exit + ;; + esac +done + +run -- cgit v1.2.3