apply comments

This commit is contained in:
woojin
2023-08-26 00:14:35 +09:00
parent da46ba98c2
commit 144b4487ef
3 changed files with 89 additions and 126 deletions

View File

@@ -76,19 +76,19 @@ _run_tests_with() {
exit 1
fi
local FAILED=0
local NUM_TESTS=$(echo $TESTS | wc -w)
local PASSED=0
# local NUM_TESTS=$(echo $TESTS | wc -w)
for TEST in ${TESTS[@]}; do
local TEST_CMD="$CARGO test $* --lib -- $TEST"
timeout ${TIMEOUT:-20s} bash -c "$TEST_CMD 2> /dev/null" 1>&2
case $? in
0) ;;
124) echo_err "Test timed out: $TEST_CMD"; FAILED=$((FAILED + 1));;
*) echo_err "Test failed: $TEST_CMD"; FAILED=$((FAILED + 1));;
0) PASSED=$((PASSED + 1));;
124) echo_err "Test timed out: $TEST_CMD";;
*) echo_err "Test failed: $TEST_CMD";;
esac
done
echo $((NUM_TESTS - FAILED))
echo $PASSED
}
# example: run_tests

View File

@@ -6,23 +6,100 @@ IFS=$'\n\t'
# Imports library.
BASEDIR=$(dirname "$0")
source $BASEDIR/test_cases.sh
source $BASEDIR/grade-utils.sh
RUNNER="cargo"
# Lints.
run_linters || exit 0
run_linters || exit 1
# Executes test for each runner.
echo "Running with $RUNNER..."
echo "Below lines will show only failed tests."
TEST_NAME=$(printf "TEST%02d" $1)
TESTS=$(get_test_cases $TEST_NAME)
case $TEST_NAME in
TEST01)
TESTS=(
"assignments::assignment01::small_exercises_grade::test"
)
;;
TEST02)
TESTS=(
"assignments::assignment02::small_exercises_grade::test"
"assignments::assignment02::vec_and_mat_grade::test"
)
;;
TEST03)
TESTS=(
"assignments::assignment03::custom_operators_grade::test"
"assignments::assignment03::parse_shell_grade::test"
"assignments::assignment03::small_exercises_grade::test"
)
;;
TEST04)
TESTS=(
"assignments::assignment04::grade::test"
)
;;
TEST06)
TESTS=(
"assignments::assignment06::semiring_grade::test"
"assignments::assignment06::symbolic_differentiation_grade::test"
)
;;
TEST07)
TESTS=(
"assignments::assignment07::generator_grade::test"
"assignments::assignment07::my_itertools_grade::test"
"assignments::assignment07::small_exercises_grade::test"
"assignments::assignment07::transform_grade::test"
)
;;
TEST08)
TESTS=(
"assignments::assignment08::church_grade::test"
"assignments::assignment08::small_exercises_grade::test"
)
;;
TEST09)
TESTS=(
"assignments::assignment09::bigint_grade::test"
"assignments::assignment09::small_exercises_grade::test"
)
;;
TEST10)
TESTS=(
"assignments::assignment10::labyrinth_grade::test"
"assignments::assignment10::small_exercises_grade::test"
)
;;
TEST11)
TESTS=(
"assignments::assignment11::graph_grade::test_graph"
"assignments::assignment11::linked_list_grade::test_linked_list"
"assignments::assignment11::mock_storage_grade::test_mock_storage"
"assignments::assignment11::tv_room_grade::test_tv_room"
)
;;
TEST12)
TESTS=(
"assignments::assignment12::card_grade"
"assignments::assignment12::demux_grade::test_demux"
"assignments::assignment12::funnel_grade::test_funnel"
"assignments::assignment12::small_exercises_grade::test_pingpong"
)
;;
TEST13)
TESTS=(
"assignments::assignment13::small_exercises_grade::test"
)
;;
*)
echo_err "Invalid test name: $TEST_NAME"
exit 1
;;
esac
# Runs tests.
SCORE=$(run_tests)
echo Your score: $SCORE
exit $SCORE

View File

@@ -1,114 +0,0 @@
#!/usr/bin/env bash
TEST01=(
"assignments::assignment01::small_exercises_grade::test"
)
TEST02=(
"assignments::assignment02::small_exercises_grade::test"
"assignments::assignment02::vec_and_mat_grade::test"
)
TEST03=(
"assignments::assignment03::custom_operators_grade::test"
"assignments::assignment03::parse_shell_grade::test::test_shell"
"assignments::assignment03::small_exercises_grade::test"
)
TEST04=(
"assignments::assignment04::grade::test"
)
TEST06=(
"assignments::assignment06::semiring_grade::test"
"assignments::assignment06::symbolic_differentiation_grade::test"
)
TEST07=(
"assignments::assignment07::generator_grade::test"
"assignments::assignment07::my_itertools_grade::test"
"assignments::assignment07::small_exercises_grade::test"
"assignments::assignment07::transform_grade::test"
)
TEST08=(
"assignments::assignment08::church_grade::test"
"assignments::assignment08::small_exercises_grade::test"
)
TEST09=(
"assignments::assignment09::bigint_grade::test"
"assignments::assignment09::small_exercises_grade::test"
)
TEST10=(
"assignments::assignment10::labyrinth_grade::test"
"assignments::assignment10::small_exercises_grade::test"
)
TEST11=(
"assignments::assignment11::graph_grade::test_graph"
"assignments::assignment11::linked_list_grade::test_linked_list"
"assignments::assignment11::mock_storage_grade::test_mock_storage"
"assignments::assignment11::tv_room_grade::test_tv_room"
)
TEST12=(
"assignments::assignment12::card_grade"
"assignments::assignment12::demux_grade::test_demux"
"assignments::assignment12::funnel_grade::test_funnel"
"assignments::assignment12::small_exercises_grade::test_pingpong"
)
TEST13=(
"assignments::assignment13::small_exercises_grade::test"
)
get_test_cases() {
local TEST_NAME=$1
local TEST_CASES=()
case $TEST_NAME in
TEST01)
TEST_CASES=("${TEST01[@]}")
;;
TEST02)
TEST_CASES=("${TEST02[@]}")
;;
TEST03)
TEST_CASES=("${TEST03[@]}")
;;
TEST04)
TEST_CASES=("${TEST04[@]}")
;;
TEST06)
TEST_CASES=("${TEST06[@]}")
;;
TEST07)
TEST_CASES=("${TEST07[@]}")
;;
TEST08)
TEST_CASES=("${TEST08[@]}")
;;
TEST09)
TEST_CASES=("${TEST09[@]}")
;;
TEST10)
TEST_CASES=("${TEST10[@]}")
;;
TEST11)
TEST_CASES=("${TEST11[@]}")
;;
TEST12)
TEST_CASES=("${TEST12[@]}")
;;
TEST13)
TEST_CASES=("${TEST13[@]}")
;;
*)
echo_err "Invalid test name: $TEST_NAME"
exit 1
;;
esac
echo "${TEST_CASES[@]}"
}
export -f get_test_cases