From 68168d9d94ce297025610fff0f6b9486e921bcaa Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Mon, 12 Jul 2021 18:45:50 +0000 Subject: round-robin-bisect.sh: Auto-generate lists of flaky GCC tests Change-Id: I8a5ee863981c461fdb29719ab8f60e671a918294 --- round-robin-bisect.sh | 33 +++++++++++++++++++++++++++++++-- tcwg_gnu-build.sh | 4 ++-- 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 \ -- cgit v1.2.3