blob: 0a1f6b8987667da79608f8ba71eb43c2f03ede89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/sh
TEST_DIR="test"
DATA_DIR="$TEST_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="$TEST_DIR/$FILE_NAME.diff"
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 in $TEST_DIR/"
fi
|