#!/bin/sh DATA_DIR="data" SRC_DIR="../src" SORTER="$SRC_DIR/sorter" REF="sort -s -n -k 2" # '-s' for using a stable algo total=0 passed=0 failed=0 for TEST_FILE in "$DATA_DIR"/*; do ((total++)) FILE_NAME=$(basename "$TEST_FILE") DIFF_FILE="diff/$FILE_NAME.diff" echo "Testing $FILE_NAME ..." 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 # Summary overview echo "==============================" echo "Test Summary:" echo "Total tests: $total" echo "Passed: $passed" echo "Failed: $failed" echo "==============================" if [ $failed -ne 0 ]; then echo "Diff files for failed tests are saved" fi