mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-10 23:00:56 +00:00
bd5095d0d0
This name more accurately reflects which code is being tested (things like .png and Makefile, rather than pipes and sockets), freeing up file-types for *actual* file types to be tested.
75 lines
2.9 KiB
Bash
Executable File
75 lines
2.9 KiB
Bash
Executable File
#!/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
|
|
|
|
|
|
# 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"
|
|
|
|
|
|
# Long view tests
|
|
$exa $testcases/files -l | diff - $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
|
|
$exa $testcases/attributes/dirs/empty-with-attribute -lh | diff -q - $results/empty || exit 1
|
|
|
|
|
|
# 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, and current users and groups
|
|
sudo -u cassowary $exa $testcases/permissions -lghR 2>&1 | diff -q - $results/permissions_sudo || exit 1
|
|
$exa $testcases/permissions -lghR 2>&1 | diff -q - $results/permissions || exit 1
|
|
|
|
|
|
# File types
|
|
$exa $testcases/file-names-exts -1 2>&1 | diff -q - $results/file-names-exts || exit 1
|
|
|
|
|
|
# Ignores
|
|
$exa $testcases/file-names-exts/music.* -I "*.ogg" -1 2>&1 | diff -q - $results/ignores_ogg || exit 1
|
|
$exa $testcases/file-names-exts/music.* -I "*.ogg|*.mp3" -1 2>&1 | diff -q - $results/empty || exit 1
|
|
|
|
|
|
# Links
|
|
COLUMNS=80 $exa $testcases/links 2>&1 | diff -q - $results/links || exit 1
|
|
$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
|
|
$exa /proc/1/root -T 2>&1 | diff -q - $results/proc_1_root || exit 1
|
|
|
|
|
|
echo "All the tests passed!"
|