diff options
Diffstat (limited to '')
| -rwxr-xr-x | test/test.sh | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/test/test.sh b/test/test.sh index e8eac6d..bd7f430 100755 --- a/test/test.sh +++ b/test/test.sh @@ -1,41 +1,46 @@ #!/bin/sh DATA_DIR="data" - SRC_DIR="../src" -SORTER="$SRC_DIR/sorter -a isort" -REF="sort -s -n -k 2" # '-s' for using a stable algo +SORTER="$SRC_DIR/sorter" -total=0 -passed=0 -failed=0 +ALGORITHMS="isort qsort" +summaries="" -for TEST_FILE in "$DATA_DIR"/*; do - ((total++)) - FILE_NAME=$(basename "$TEST_FILE") - DIFF_FILE="diff/$FILE_NAME.diff" +add_summary() { + summaries="$summaries +============================== +Test Summary for $1: +Total tests: $2 +Passed: $3 +Failed: $4 +==============================" +} - echo "Testing $FILE_NAME ..." +for ALGORITHM in $ALGORITHMS; do + total=0 + passed=0 + failed=0 - diff -u <($REF "$TEST_FILE") <($SORTER "$TEST_FILE") > "$DIFF_FILE" - if [ ! -s "$DIFF_FILE" ]; then - echo "Passed: $TEST_FILE" - ((passed++)) - rm -f "$DIFF_FILE" - else - echo "Failed: $TEST_FILE" - ((failed++)) - fi -done + for TEST_FILE in "$DATA_DIR"/*; do + total=$((total + 1)) + FILE_NAME=$(basename "$TEST_FILE") + echo "Testing $FILE_NAME with $ALGORITHM ..." + + "$SORTER" -a "$ALGORITHM" "$TEST_FILE" > temp + OUTPUT=$(python ./check.py "$TEST_FILE" temp 2>&1) -# Summary overview -echo "==============================" -echo "Test Summary:" -echo "Total tests: $total" -echo "Passed: $passed" -echo "Failed: $failed" -echo "==============================" + if [ -z "$OUTPUT" ]; then + echo "Passed: $FILE_NAME" + passed=$((passed + 1)) + else + echo "Failed: $FILE_NAME" + failed=$((failed + 1)) + fi + done + + add_summary "$ALGORITHM" "$total" "$passed" "$failed" +done -if [ $failed -ne 0 ]; then - echo "Diff files for failed tests are saved" -fi +rm temp +echo "$summaries" |