#!/usr/bin/env bash set -e
STATUS=0 warnings=“${TMPDIR:-/tmp}/hub-warnings.$$”
run() {
# Save warnings on stderr to a separate file RUBYOPT="$RUBYOPT -w" bundle exec "$@" \ 2> >(tee >(grep 'warning:' >>"$warnings") | grep -v 'warning:') || STATUS=$?
}
check_warnings() {
# Display Ruby warnings from this project's source files. Abort if any were found. num="$(grep -F "$PWD" "$warnings" | grep -v "${PWD}/vendor/bundle" | sort | uniq -c | sort -rn | tee /dev/stderr | wc -l)" rm -f "$warnings" if [ "$num" -gt 0 ]; then echo "FAILED: this test suite doesn't tolerate Ruby syntax warnings!" >&2 exit 1 fi
}
if tmux -V; then
if [ -n "$CI" ]; then git --version bash --version | head -1 zsh --version echo fi profile="all"
else
echo "warning: skipping shell completion tests (install tmux to enable)" >&2 profile="default"
fi
run rake test run cucumber -p “$profile”
check_warnings
exit $STATUS