From bea3644244b43c305346075546370d498c70572a Mon Sep 17 00:00:00 2001 From: Baruta Daniel Mihail <baruta.mihai@yahoo.com> Date: Wed, 17 Aug 2022 00:36:40 +0200 Subject: [PATCH] General improvements --- checker/checker.sh | 48 ++++++++++++++++++++++++++++----------------- local.sh | 9 +++++---- src/perfect | Bin 16872 -> 0 bytes 3 files changed, 35 insertions(+), 22 deletions(-) delete mode 100755 src/perfect diff --git a/checker/checker.sh b/checker/checker.sh index ebb57e6..8e9b491 100755 --- a/checker/checker.sh +++ b/checker/checker.sh @@ -7,6 +7,8 @@ cd "$(dirname "$0")" || exit 1 EXECUTABLE="../src/perfect" TIMEOUT_DURATION=10 +SCORE=0 +TOTAL_SCORE=0 test_err() { @@ -52,7 +54,6 @@ test_edge() return $? } - setup() { pushd ../src > /dev/null || exit 1 @@ -68,31 +69,42 @@ cleanup() } test_fun_array=( \ - test_err "Name 1" 5 \ - test_single "Name 2" 5 \ - test_multiple "Name 3" 5 \ - test_edge "Name 4" 5 \ + test_err "Name 1" 25 \ + test_single "Name 2" 25 \ + test_multiple "Name 3" 25 \ + test_edge "Name 4" 25 \ ) -test_all() +run_test() { - local score=0 + test_index="$1" + test_func_index=$((test_index * 3)) + description=${test_fun_array[$((test_func_index + 1))]} + points=${test_fun_array[$((test_func_index + 2))]} + TOTAL_SCORE=$((TOTAL_SCORE + points)) + + echo -ne "Testing\t\t$description\t" + if ${test_fun_array["$test_func_index"]} ; then + SCORE=$((SCORE + points)) + echo "$points/$points" + else + echo "0/$points" + fi +} +test_all() +{ for i in $(seq 0 "$((${#test_fun_array[@]} / 3 - 1))") ; do - test_index=$((i * 3)) - description=${test_fun_array[$((test_index + 1))]} - points=${test_fun_array[$((test_index + 2))]} - - - echo -e "Testing\t\t$description" - if ${test_fun_array["$test_index"]} ; then - score=$((score + points)) - fi + run_test "$i" done - echo -e "\nTotal: $score" + echo -e "\nTotal: $SCORE/$TOTAL_SCORE" } setup -test_all +if [ -z "$1" ] ; then + test_all +else + run_test "$1" +fi cleanup diff --git a/local.sh b/local.sh index 9b21685..e9bf98d 100755 --- a/local.sh +++ b/local.sh @@ -18,11 +18,11 @@ DEFAULT_REGISTRY='registry.gitlab.cs.pub.ro' #============================================================================= LOG_INFO() { - echo -e "[$(date +%F_%T)] [INFO] $1" + echo -e "[$(date +%FT%T)] [INFO] $1" } LOG_FATAL() { - echo -e "[$(date +%F_%T)] [${RED}FATAL${NC}] $1" + echo -e "[$(date +%FT%T)] [${RED}FATAL${NC}] $1" exit 1 } @@ -63,9 +63,10 @@ print_help() { echo " --full_image_name <full_image_name> - the full name of the image (default: registry.gitlab.cs.pub.ro/<current_directory_name>:latest)" echo " --use_executable <executable> - command to run inside the container (default: /bin/bash)" echo "" - echo "local.sh checker [--remove_image] [argumets_for_checker]" + echo "local.sh checker [--remove_image] [--use_existing_image <image_name>] [argumets_for_checker]" echo "" echo " --remove_image - remove the checker's docker image after the run" + echo " --use_existing_image - user image_name instead of building the image from current directory" echo " argumets_for_checker - list of space separated arguments to be passed to the checker" echo "" } @@ -232,7 +233,7 @@ checker_main() { LOG_INFO "Running checker..." docker run --rm \ --mount type=bind,source="$tmpdir",target=/build \ - "$image_name" /bin/bash /build/checker/checker.sh "${script_args[@]}" + "$image_name" /bin/bash -c "rm -rf /usr/local/bin/bash; /build/checker/checker.sh \"${script_args[@]}\"" # remove bash middleware script if [ -n "$remove_image" ] ; then LOG_INFO "Cleaning up..." diff --git a/src/perfect b/src/perfect deleted file mode 100755 index 6ef9600217570a331152fc51655f6fffd8ff5e68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16872 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 UTT1W1mF-vWwl%hR3_Ps*FPE&(IsgCw -- GitLab