#!/bin/bash
# This script configures, builds and runs tests.
# It's meant for automatic cross-distro testing.

die() { echo "$*" >&2; exit 1; }

[ -e "ShellCheck.cabal" ] ||
  die "ShellCheck.cabal not in current dir"
command -v cabal ||
  die "cabal is missing"

cabal update ||
  die "can't update"
cabal install --dependencies-only --enable-tests ||
  die "can't install dependencies"
cabal configure --enable-tests ||
  die "configure failed"
cabal build ||
  die "build failed"
cabal test ||
  die "test failed"

dist/build/shellcheck/shellcheck - << 'EOF' || die "execution failed"
#!/bin/sh
echo "Hello World"
EOF

dist/build/shellcheck/shellcheck - << 'EOF' && die "negative execution failed"
#!/bin/sh
echo $1
EOF


echo "Success"
exit 0