aboutsummaryrefslogtreecommitdiff
path: root/test/test.sh
blob: e8eac6da53881a4209bf3809a0ae6e7abbf8dd16 (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

DATA_DIR="data"

SRC_DIR="../src"
SORTER="$SRC_DIR/sorter -a isort"
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