fish-shell/tests/test_util.fish
Kevin Ballard 1563501868 Fix missing "1 test failed" line
Also tweak colored output to reset before the newline instead of after,
so travis behaves better (for some reason reset causes travis to display
the line in black).
2014-09-23 22:50:28 -07:00

63 lines
1.3 KiB
Fish

# Utilities for the test runners
function die
echo $argv[1] >&2
exit 1
end
if not tty 0>&1 >/dev/null
function set_color
# do nothing
return 0
end
end
function say
set -l color_flags
set -l suppress_newline
while set -q argv[1]
switch $argv[1]
case -b -o -u
set color_flags $color_flags $argv[1]
case -n
set suppress_newline 1
case --
set -e argv[1]
break
case -\*
continue
case \*
break
end
set -e argv[1]
end
if not set -q argv[1]
echo 'usage: say [flags] color [string...]' >&2
return 1
end
if set_color $color_flags $argv[1]
set -e argv[1]
echo -n $argv
set_color reset
if test -z "$suppress_newline"
echo
end
end
end
function colordiff -d 'Colored diff output for unified diffs'
diff $argv | while read -l line
switch $line
case '+*'
say green $line
case '-*'
say red $line
case '@*'
say cyan $line
case '*'
echo $line
end
end
end