hub/script/ruby-test

41 строка
975 B
Bash
Executable File

#!/usr/bin/env bash
set -e
STATUS=0
TMPDIR="${TMPDIR:-/tmp}"
warnings="${TMPDIR%/}/gh-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}/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 [ -z "$TRAVIS" ] && 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 cucumber -p "$profile" "$@"
check_warnings
exit $STATUS