zulip/tools/test-all
Anders Kaseorg b54007d36c clean-repo: Remove.
Unless this was working around a specific bug that has somehow
persisted for eight years, this was just pointlessly defeating
Python’s bytecode cache every time you started the dev server.

This reverts commits deffda072f,
59228f7458, and
ae45217671.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-11-05 17:44:24 -07:00

80 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
cd "$(dirname "$0")"/..
# read the options
TEMP=$(getopt -o "" --long skip-provision-check -- "$@")
eval set -- "$TEMP"
# extract options.
while true; do
case "$1" in
--skip-provision-check)
FORCEARG="--skip-provision-check"
shift
;;
--)
shift
break
;;
esac
done
function run() {
echo '----'
printf 'Running'
printf ' %q' "$@"
printf '\n'
if ! "$@"; then
printf '\n\e[31;1mFAILED\e[0m'
printf ' %q' "$@"
printf '\n'
exit 1
else
echo
fi
}
printf '\n\e[33;1m'
echo "Because test-all is very slow, we recommend running individual (sub)suites "
echo "and relying on CI to run the complete test suite for a fast edit-test cycle. See"
echo " https://zulip.readthedocs.io/en/latest/testing/testing.html#running-tests"
echo "for details on how to run just the relevant subsets of our tests."
printf '\e[0m'
echo
# prep
run ./tools/check-provision $FORCEARG
# ci/backend
run ./tools/lint --groups=backend $FORCEARG
run ./tools/test-tools
run ./tools/test-backend --include-webhooks --ban-console-output $FORCEARG
run ./tools/test-migrations
# Not running SVG optimizing since it's low-churn
# run ./tools/setup/optimize-svg
# Not running missing bot avatar detection since it's low churn
# ./tools/setup/generate_integration_bots_avatars.py --check-missing
# Not running documentation tests since it takes 20s and only tests documentation
# run ./tools/test-documentation
run ./tools/test-help-documentation $FORCEARG
run ./tools/test-api
# Not running requirements check locally, because slow and low-churn
# run ./tools/test-locked-requirements
# Not running run-dev tests locally; we never have
# run ./tools/test-run-dev
# Not running queue worker reload tests since it's low-churn code
# run ./tools/test-queue-worker-reload
# ci/frontend
run ./tools/lint --groups=frontend $FORCEARG
run ./tools/test-js-with-node
run ./tools/check-schemas
run ./manage.py makemessages --locale en
run env PYTHONWARNINGS=ignore ./tools/check-capitalization --no-generate
run env PYTHONWARNINGS=ignore ./tools/check-frontend-i18n --no-generate
run ./tools/test-js-with-puppeteer $FORCEARG
printf '\n\e[32mAll OK!\e[0m\n'