#!/usr/bin/env bash # quicktest runs the ShellCheck unit tests in an interpreted mode. # This allows running tests without compiling, which can be faster. # 'cabal test' remains the source of truth. path=$(find . -type f -path './dist*/Paths_ShellCheck.hs' | sort | head -n 1) if [ -z "$path" ] then echo >&2 "Unable to find Paths_ShellCheck.hs. Please 'cabal build' once." exit 1 fi path="${path%/*}" ( var=$(echo 'main' | ghci -isrc -i"$path" test/shellcheck.hs 2>&1 | tee /dev/stderr) if [[ $var == *ExitSuccess* ]] then exit 0 else grep -C 3 -e "Fail" -e "Tracing" <<< "$var" exit 1 fi ) 2>&1