all: sync with master

This commit is contained in:
Eugene Burkov
2024-12-05 16:00:18 +03:00
parent 54f3a5f990
commit 3f95db98d3
143 changed files with 3476 additions and 2959 deletions

View File

@@ -3,7 +3,7 @@
# This comment is used to simplify checking local copies of the script. Bump
# this number every time a significant change is made to this script.
#
# AdGuard-Project-Version: 1
# AdGuard-Project-Version: 6
verbose="${VERBOSE:-0}"
readonly verbose
@@ -12,13 +12,11 @@ readonly verbose
# 0 = Don't print anything except for errors.
# 1 = Print commands, but not nested commands.
# 2 = Print everything.
if [ "$verbose" -gt '1' ]
then
if [ "$verbose" -gt '1' ]; then
set -x
v_flags='-v=1'
x_flags='-x=1'
elif [ "$verbose" -gt '0' ]
then
elif [ "$verbose" -gt '0' ]; then
set -x
v_flags='-v=1'
x_flags='-x=0'
@@ -31,29 +29,54 @@ readonly v_flags x_flags
set -e -f -u
if [ "${RACE:-1}" -eq '0' ]
then
if [ "${RACE:-1}" -eq '0' ]; then
race_flags='--race=0'
else
race_flags='--race=1'
fi
readonly race_flags
count_flags='--count=2'
cover_flags='--coverprofile=./cover.out'
go="${GO:-go}"
readonly go
count_flags='--count=1'
cover_flags='--coverprofile=./coverage.txt'
shuffle_flags='--shuffle=on'
timeout_flags="${TIMEOUT_FLAGS:---timeout=90s}"
readonly count_flags cover_flags shuffle_flags timeout_flags
readonly count_flags cover_flags go shuffle_flags timeout_flags
"$go" test\
"$count_flags"\
"$cover_flags"\
"$race_flags"\
"$shuffle_flags"\
"$timeout_flags"\
"$v_flags"\
"$x_flags"\
./...
go_test() {
"$go" test \
"$count_flags" \
"$cover_flags" \
"$race_flags" \
"$shuffle_flags" \
"$timeout_flags" \
"$v_flags" \
"$x_flags" \
./...
}
test_reports_dir="${TEST_REPORTS_DIR:-}"
readonly test_reports_dir
if [ "$test_reports_dir" = '' ]; then
go_test
exit "$?"
fi
mkdir -p "$test_reports_dir"
# NOTE: The pipe ignoring the exit code here is intentional, as go-junit-report
# will set the exit code to be saved.
go_test 2>&1 \
| tee "${test_reports_dir}/test-output.txt"
# Don't fail on errors in exporting, because TEST_REPORTS_DIR is generally only
# not empty in CI, and so the exit code must be preserved to exit with it later.
set +e
go-junit-report \
--in "${test_reports_dir}/test-output.txt" \
--set-exit-code \
>"${test_reports_dir}/test-report.xml"
printf '%s\n' "$?" \
>"${test_reports_dir}/test-exit-code.txt"