#!/bin/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]' | cabal repl | tee /dev/stderr)
if [[ $var == *$'\nTrue'* ]]
then
  exit 0
else
  grep -C 3 "Fail" <<< "$var"
  exit 1
fi
) 2>&1