run.sh 2.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/bin/bash
set +xe


# The exa binary we want to run
exa="$HOME/target/debug/exa --colour=always"

# Directory containing our awkward testcase files
testcases=~/testcases

# Directory containing existing test results to compare against
results=/vagrant/xtests


15 16 17 18 19
# Check that no files were created more than a year ago.
# Files not from the current year use a different date format, meaning
# that tests will fail until the VM gets re-provisioned.
sudo find $testcases -mtime +365 -printf "File %p has not been modified since %TY! Consider re-provisioning; tests will probably fail.\n"

20 21 22 23 24 25
# Long view tests
$exa $testcases/files -l   | diff -q - $results/files_l     || exit 1
$exa $testcases/files -lh  | diff -q - $results/files_lh    || exit 1
$exa $testcases/files -lhb | diff -q - $results/files_lhb   || exit 1
$exa $testcases/files -lhB | diff -q - $results/files_lhb2  || exit 1

26 27
$exa $testcases/attributes/dirs/empty-with-attribute -lh | diff -q - $results/empty  || exit 1

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
# Grid view tests
COLUMNS=40  $exa $testcases/files | diff -q - $results/files_40   || exit 1
COLUMNS=80  $exa $testcases/files | diff -q - $results/files_80   || exit 1
COLUMNS=120 $exa $testcases/files | diff -q - $results/files_120  || exit 1
COLUMNS=160 $exa $testcases/files | diff -q - $results/files_160  || exit 1
COLUMNS=200 $exa $testcases/files | diff -q - $results/files_200  || exit 1

# Long grid view tests
COLUMNS=40  $exa $testcases/files -lG | diff -q - $results/files_lG_40   || exit 1
COLUMNS=80  $exa $testcases/files -lG | diff -q - $results/files_lG_80   || exit 1
COLUMNS=120 $exa $testcases/files -lG | diff -q - $results/files_lG_120  || exit 1
COLUMNS=160 $exa $testcases/files -lG | diff -q - $results/files_lG_160  || exit 1
COLUMNS=200 $exa $testcases/files -lG | diff -q - $results/files_lG_200  || exit 1

# Attributes
$exa $testcases/attributes -l@T | diff -q - $results/attributes  || exit 1

# UIDs and GIDs
$exa $testcases/passwd -lgh | diff -q - $results/passwd  || exit 1

# Permissions
$exa $testcases/permissions -lghR 2>&1 | diff -q - $results/permissions  || exit 1

B
Ben S 已提交
51 52 53
# File types
$exa $testcases/file-types -1 2>&1 | diff -q - $results/file-types  || exit 1

B
Ben S 已提交
54 55 56 57
# Ignores
$exa $testcases/file-types/music.* -I "*.ogg"       -1 2>&1 | diff -q - $results/ignores_ogg  || exit 1
$exa $testcases/file-types/music.* -I "*.ogg|*.mp3" -1 2>&1 | diff -q - $results/empty        || exit 1

B
Ben S 已提交
58 59 60 61 62 63
# Links
$exa $testcases/links -1 2>&1 | diff -q - $results/links_1  || exit 1
$exa $testcases/links -T 2>&1 | diff -q - $results/links_T  || exit 1

COLUMNS=80 $exa $testcases/links 2>&1 | diff -q - $results/links  || exit 1

64
$exa /proc/1/root -T 2>&1 | diff -q - $results/proc_1_root  || exit 1
65

66 67

echo "All the tests passed!"