hurl/integration/lint.sh

47 lines
1.2 KiB
Bash
Raw Normal View History

2020-08-27 10:07:46 +03:00
#!/bin/bash
set -u
EXITCODE_EXPECTED=1
for hurl_file in "$@"; do
echo "$hurl_file";
set +e
hurlfmt --color --check "$hurl_file" 2>/tmp/test.stderr
EXITCODE_ACTUAL=$?
set -e
if [ "$EXITCODE_ACTUAL" != "$EXITCODE_EXPECTED" ]; then
echo "ERROR Exit Code"
echo " Expected: $EXITCODE_EXPECTED"
echo " Actual: $EXITCODE_ACTUAL"
exit 1
fi
STDERR_ACTUAL=$(cat /tmp/test.stderr)
2020-09-19 19:09:30 +03:00
STDERR_EXPECTED=$(cat "${hurl_file%%.*}.err")
diff "${hurl_file%%.*}.err" /tmp/test.stderr
2020-08-27 10:07:46 +03:00
if [ "$STDERR_ACTUAL" != "$STDERR_EXPECTED" ]; then
echo "ERROR stderr"
echo " expected:"
echo "$STDERR_EXPECTED" | perl -pe 'chomp;s/.*/ $_\n/'
echo " actual:"
echo "$STDERR_ACTUAL" | perl -pe 'chomp;s/.*/ $_\n/'
exit 1
fi
hurlfmt "$hurl_file" --no-color >/tmp/test.lint
LINT_ACTUAL=$(cat /tmp/test.lint)
2020-09-19 19:09:30 +03:00
LINT_EXPECTED=$(cat "${hurl_file%%.*}.hurl.lint")
2020-08-27 10:07:46 +03:00
if [ "$LINT_ACTUAL" != "$LINT_EXPECTED" ]; then
echo "ERROR linting"
echo " expected:"
echo "$LINT_EXPECTED" | perl -pe 'chomp;s/.*/ $_\n/'
echo " actual:"
echo "$LINT_ACTUAL" | perl -pe 'chomp;s/.*/ $_\n/'
exit 1
fi
done