| #!/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 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 |