summaryrefslogtreecommitdiffstats
path: root/run-tests.fish
blob: 92200d26520c44d12f8ae208309e400d2a13bec8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env fish

set d (realpath (status dirname))

cd $d/bytecode
cargo build; or return

cd $d

if test (count $argv) -gt 0
    set files $d/tests/$argv*
else
    set files $d/tests/*
end

printf %s\n $files | parallel --keep-order --quote fish -c '
    bytecode/target/debug/bytecode (sml main.sml -o /dev/stderr $argv[1] >/dev/null 2>| psub)
    set got $status
    if test $got -eq 42
        echo (basename -s.sml $argv[1]): PASS
    else
        echo (basename -s.sml $argv[1]): FAIL "(status $got)"
    end
'