#!/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. ( var=$(echo 'liftM and $ sequence [ ShellCheck.Analytics.runTests ,ShellCheck.Parser.runTests ,ShellCheck.Checker.runTests ,ShellCheck.Checks.Commands.runTests ,ShellCheck.Checks.ShellSupport.runTests ,ShellCheck.AnalyzerLib.runTests ]' | tr -d '\n' | cabal repl ShellCheck 2>&1 | tee /dev/stderr) if [[ $var == *$'\nTrue'* ]] then exit 0 else grep -C 3 -e "Fail" -e "Tracing" <<< "$var" exit 1 fi ) 2>&1