summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-07-12 18:45:50 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-07-12 18:45:50 +0000
commit68168d9d94ce297025610fff0f6b9486e921bcaa (patch)
tree3b848c3abe41746c7ad970f833065507644ab1f7
parent5edb47c73a3ae28b407fab8f9e38eb4fa48564e0 (diff)
downloadjenkins-scripts-68168d9d94ce297025610fff0f6b9486e921bcaa.tar.gz
round-robin-bisect.sh: Auto-generate lists of flaky GCC tests
Change-Id: I8a5ee863981c461fdb29719ab8f60e671a918294
-rwxr-xr-xround-robin-bisect.sh33
-rwxr-xr-xtcwg_gnu-build.sh4
2 files changed, 33 insertions, 4 deletions
diff --git a/round-robin-bisect.sh b/round-robin-bisect.sh
index a65765e2..a7db44e0 100755
--- a/round-robin-bisect.sh
+++ b/round-robin-bisect.sh
@@ -71,8 +71,8 @@ $build_script \
^^ $reproduce_bisect \
%% $rel_artifacts/manifests/build-baseline.sh \
@@ $rel_artifacts/manifests/build-parameters.sh \
- ==rr[mode] "baseline" \
- ==rr[update_baseline] init \
+ ==rr[mode] baseline \
+ ==rr[update_baseline] push \
==rr[top_artifacts] "$rel_artifacts/build-baseline" \
--verbose "$verbose" \
"${rebase_workaround_opts[@]}"
@@ -85,6 +85,35 @@ EOF
ln -f -s "build-baseline" "$artifacts/build-$baseline_rev"
ln -f -s "build-baseline.sh" "$artifacts/manifests/build-$baseline_rev.sh"
+case "${rr[ci_project]}/${rr[ci_config]}" in
+ tcwg_gnu/*-check_bootstrap*|tcwg_cross/*-check_cross)
+ (
+ # Build up lists of flaky tests. We do this by comparing
+ # just-created baseline vs sumfiles in base-artifacts.
+ fails=$(find $rel_artifacts/build-baseline \
+ -path "*-check_regression/fails.sum")
+ xfail="gcc-compare-results/contrib/testsuite-management/flaky/${rr[ci_config]}.xfail"
+
+ if ! [ -f "$fails" ] || ! [ -f "$xfail" ]; then
+ exit
+ fi
+
+ (
+ echo
+ echo "# From $BUILD_URL:"
+ cat "$fails" | sed -e "s/^\([A-Z]\+: \)/flaky \| \1/"
+ ) >> "$xfail"
+
+ git -C gcc-compare-results add "$xfail"
+ git -C gcc-compare-results commit -m "From $BUILD_URL"
+ git_init_linaro_local_remote gcc-compare-results baseline false
+ git_push gcc-compare-results baseline master
+ ) &
+ res=0 && wait $! || res=$?
+ # Ignore any failures in the above.
+ ;;
+esac
+
mkdir -p bisect/baseline
# Save baseline build state, which we restore before individual bisect tests.
diff --git a/tcwg_gnu-build.sh b/tcwg_gnu-build.sh
index 13730e69..c5389238 100755
--- a/tcwg_gnu-build.sh
+++ b/tcwg_gnu-build.sh
@@ -141,8 +141,8 @@ no_regression_p ()
res1=0 && wait $! || res1=$?
local xfail="gcc-compare-results/contrib/testsuite-management/flaky"
- if [ -f "$xfail-${rr[ci_config]}.xfail" ]; then
- xfail="$xfail-${rr[ci_config]}"
+ if [ -f "$xfail/${rr[ci_config]}.xfail" ]; then
+ xfail="$xfail/${rr[ci_config]}"
fi
gcc-compare-results/contrib/testsuite-management/validate_failures.py \