aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2023-11-24Daily bump.GCC Administrator1-0/+13
2023-11-24contrib/regression/btest-gcc.sh: Optionally handle XPASS.Hans-Peter Nilsson1-1/+10
Tests with keys that match both PASS, FAIL (or now optionally XPASS), count as fail. XPASSes were previously ignored. Handling them as FAIL seems the most useful alternative, but not counting XPASSes may be deliberate. It's also a matter of compatibility, so make it optional. Attempts to use --handle-xpass-as-fail was previously flagged as a usage error. If you pass it now, on state with previous mixed XPASS and PASS results but doesn't change in this run, the XPASS is discovered as a (new) regression. For new XPASSing tests, it's handled as a new FAIL. * btest-gcc.sh (--handle-xpass-as-fail): New option.
2023-11-24contrib/regression/btest-gcc.sh: Simplify option handling.Hans-Peter Nilsson1-2/+3
* btest-gcc.sh (Option handling): Break out shifts from each option alternative.
2023-11-24contrib/regression/btest-gcc.sh: Handle multiple options.Hans-Peter Nilsson1-7/+10
This is a long-standing bug: passing "-j --add-passes-despite-regression" or "--add-passes-despite-regression -j" caused the second option to be treated as TARGET; the first non-option parameter. * btest-gcc.sh (Option handling): Handle multiple options.
2023-11-15Daily bump.GCC Administrator1-0/+12
2023-11-14libcpp, contrib: Update to Unicode 15.1Jakub Jelinek8-2614/+9011
The following patch (in plaintext just a pseudo-patch where I've left out the too big parts of either wget downloaded or regenerated files out with ..., full patch attached compressed) updates to Unicode 15.1 from 15.0 we had last year. Apparently Unicode forgot to add a new range to 4-8 Table we are using, but from the other files it is clear what should have been added; I've filed a bugreport against Unicode. 2023-11-14 Jakub Jelinek <jakub@redhat.com> contrib/ * unicode/README: Adjust glibc git commit hash, number of Unicode data files to be updated and latest Unicode version. * unicode/from_glibc/utf8_gen.py: Update from glibc. * unicode/UnicodeData.txt: Update from Unicode 15.1. * unicode/EastAsianWidth.txt: Likewise. * unicode/DerivedNormalizationProps.txt: Likewise. * unicode/NameAliases.txt: Likewise. * unicode/DerivedCoreProperties.txt: Likewise. * unicode/PropList.txt: Likewise. libcpp/ * makeucnid.cc (write_copyright): Update copyright year. * makeuname2c.cc (write_copyright): Likewise. (struct generated): Update latest Unicode version. (generated_ranges): Add 2ebf0-2ee5d CJK UNIFIED IDEOGRAPH range which was forgotten to be added to 4-8 table, but clearly is expected to be there from the 15.1 additions. * ucnid.h: Regenerated. * uname2c.h: Regenerated. * generated_cpp_wcwidth.h: Regenerated.
2023-11-14Daily bump.GCC Administrator1-0/+11
2023-11-14contrib: Ignore the r14-5312-g040e5b0edbca861196d9e2ea2af5e805769c8d5d bogus ↵Jakub Jelinek1-1/+2
commit The r14-5312-g040e5b0edbca861196d9e2ea2af5e805769c8d5d commit log contains a line from git revert with correct hash, but unfortunately hand ammended with explanation, so it got through the pre-commit hook but failed during update_version_git generation. Please don't do this. 2023-11-14 Jakub Jelinek <jakub@redhat.com> contrib/ChangeLog: * gcc-changelog/git_update_version.py: Add 040e5b0edbca861196d9e2ea2af5e805769c8d5d to ignored commits.
2023-11-14*: add modern gettextArsen Arsenović3-0/+4
This patch updates gettext.m4 and related .m4 files and adds gettext-runtime as a gmp/mpfr/... style host library, allowing newer libintl to be used. This patch /does not/ add build-time tools required for internationalizing (msgfmt et al), instead, it just updates the runtime library. The result should be a distribution that acts exactly the same when a copy of gettext is present, and disables internationalization otherwise. There should be no changes in behavior when gettext is included in-tree. When gettext is not included in tree, nor available on the system, the programs will be built without localization. ChangeLog: PR bootstrap/12596 * .gitignore: Add '/gettext*'. * configure.ac (host_libs): Replace intl with gettext. (hbaseargs, bbaseargs, baseargs): Split baseargs into {h,b}baseargs. (skip_barg): New flag. Skips appending current flag to bbaseargs. <library exemptions>: Exempt --with-libintl-{type,prefix} from target and build machine argument passing. * configure: Regenerate. * Makefile.def (host_modules): Replace intl module with gettext module. (configure-ld): Depend on configure-gettext. * Makefile.in: Regenerate. config/ChangeLog: * intlmacosx.m4: Import from gettext-0.22 (serial 8). * gettext.m4: Sync with gettext-0.22 (serial 77). * gettext-sister.m4 (ZW_GNU_GETTEXT_SISTER_DIR): Load gettext's uninstalled-config.sh, or call AM_GNU_GETTEXT if missing. * iconv.m4: Sync with gettext-0.22 (serial 26). contrib/ChangeLog: * prerequisites.sha512: Add gettext. * prerequisites.md5: Add gettext. * download_prerequisites: Add gettext. gcc/ChangeLog: * configure: Regenerate. * aclocal.m4: Regenerate. * Makefile.in (LIBDEPS): Remove (potential) ./ prefix from LIBINTL_DEP. * doc/install.texi: Document new (notable) flags added by the optional gettext tree and by AM_GNU_GETTEXT. Document libintl/libc with gettext dependency. libcpp/ChangeLog: * configure: Regenerate. * aclocal.m4: Regenerate. libstdc++-v3/ChangeLog: * configure: Regenerate.
2023-10-06Daily bump.GCC Administrator1-0/+19
2023-10-05contrib: add mdcompactAndrea Corallo16-0/+600
Hello all, this patch checks in mdcompact, the tool written in elisp that I used to mass convert all the multi choice pattern in the aarch64 back-end to the new compact syntax. I tested it on Emacs 29 (might run on older versions as well not sure), also I verified it runs cleanly on a few other back-ends (arm, loongarch). The tool can be used to convert a single pattern, an open buffer or all md files in a directory. The tool might need further adjustment to run on some specific back-end, in case very happy to help. This patch was pre-approved here [1]. Best Regards Andrea Corallo [1] <https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631830.html> contrib/ChangeLog * mdcompact/mdcompact-testsuite.el: New file. * mdcompact/mdcompact.el: Likewise. * mdcompact/tests/1.md: Likewise. * mdcompact/tests/1.md.out: Likewise. * mdcompact/tests/2.md: Likewise. * mdcompact/tests/2.md.out: Likewise. * mdcompact/tests/3.md: Likewise. * mdcompact/tests/3.md.out: Likewise. * mdcompact/tests/4.md: Likewise. * mdcompact/tests/4.md.out: Likewise. * mdcompact/tests/5.md: Likewise. * mdcompact/tests/5.md.out: Likewise. * mdcompact/tests/6.md: Likewise. * mdcompact/tests/6.md.out: Likewise. * mdcompact/tests/7.md: Likewise. * mdcompact/tests/7.md.out: Likewise.
2023-10-04Daily bump.GCC Administrator1-0/+5
2023-10-03contrib/mklog.py: Fix issues reported by flake8Martin Jambor1-1/+2
The testing infrastructure built by Martin Liška contains checking a few python scripts in contrib witha tool flake8. That tool recently complains that: contrib/mklog.py:360:45: E711 comparison to None should be 'if cond is None:' contrib/mklog.py:362:1: E305 expected 2 blank lines after class or function definition, found 1 I'd like to silence these with the following, hopefully trivial, changes. However, I have only tested the changes by running flake8 again and running ./contrib/mklog.py --help. Is this good for trunk? (Or should I stop using flake8 instead?) Thanks, Martin contrib/ChangeLog: 2023-10-03 Martin Jambor <mjambor@suse.cz> * mklog.py (skip_line_in_changelog): Compare to None using is instead of ==, add an extra newline after the function.
2023-10-03Daily bump.GCC Administrator1-0/+6
2023-10-02contrib: Update Darwin entries in config-list.mkIain Sandoe1-7/+9
This list was out of date, and included cases that are not well-supported for cross-compilers. This updates the list to bracket the range of OS versions we support and to drop one earlier case where GCC will no longer build with native tools. contrib/ChangeLog: * config-list.mk: Add newer Darwin versions, trim one older. Remove cases with no OS version, which is not supported for cross- compilers. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
2023-09-30Daily bump.GCC Administrator1-0/+9
2023-09-29check_GNU_style.py: Skip .md square bracket lintingPatrick O'Neill1-0/+3
This testcase causes lots of false-positives for machine description files. contrib/ChangeLog: * check_GNU_style_lib.py: Skip machine description file bracket linting. Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
2023-09-29Harmonize headers between both dg-extract-results scriptsPaul Iannetta2-2/+2
The header of the python version looked like: Target is ... Host is ... The header of the bash version looked like: Test run by ... on ... Target is ... After this change both headers look like: Test run by ... on ... Target is ... Host is ... The order of the tests is not the same but since dg-cmp-results.sh it does not matter much. contrib/ChangeLog: * dg-extract-results.py: Print the "Test run" line. * dg-extract-results.sh: Print the "Host" line.
2023-09-13Daily bump.GCC Administrator1-0/+5
2023-09-12contrib: Quote variable in test expression [PR111360]Jonathan Wakely1-1/+1
Without the quotes some shells will always return true and some will print an error. It should be quoted so that a null variable works as intended. contrib/ChangeLog: PR other/111360 * gcc_update: Quote variable.
2023-09-12Daily bump.GCC Administrator1-0/+6
2023-09-11contrib: Check if getent is available in git setup script [PR111359]Jonathan Wakely1-1/+5
contrib/ChangeLog: PR other/111359 * gcc-git-customization.sh: Check for getent before using it. Use id on macOS.
2023-09-08Update contrib + libgomp ChangeLogs for failed reject-commit testingTobias Burnus1-0/+19
The following commit should have enabled checking for invalid revert hashes; it worked locally - but did work as pre-commit hook on sourceware as it wasn't copied to the hook directory: r14-3777-gff20bce9f58 contrib/gcc-changelog: Check whether revert-commit exists Hence, the following revert commit was wrongly applied: r14-3778-gfbbd9001e9b Revert "contrib/gcc-changelog: Check whether revert-commit exists" (In this commit: contrib/ChangeLog update for the revert.) r14-3779-g69e83181ebc contrib/gcc-changelog: Check whether revert-commit exists Re-applied the commit with a commit-log typo fixed but missing a late commit. r14-3780-g1b0934b7276 Revert "contrib/gcc-changelog: Check whether revert-commit exists" This commit still came through but re-instated the late wording fix in contrib/gcc-changelog/git_commit.py. (In this commit: contrib/ChangeLog update for the wording change.) r14-3781-gd22cd7745ff Revert: "Another revert test with a bogus hash" Another attempt to get a reject, but it still came through. It removed tailing whitespace in libgomp/target.c (In this commit: libgomp/ChangeLog was for the whitespace removal.)
2023-09-08Daily bump.GCC Administrator1-0/+22
2023-09-07Revert "contrib/gcc-changelog: Check whether revert-commit exists"Tobias Burnus1-2/+2
This reverts commit ffffffffffffffffffffffffffffffffffffffff. This checks whether the pre-commit hook of the mentioned commit triggers and rejects this commit due to the bogus commit hash. This commit actually does not revert that patch but fixes that patch as 'technically' was accidently re-added in the second commit.
2023-09-07contrib/gcc-changelog: Check whether revert-commit existsTobias Burnus2-7/+16
This is the identical (except for a ChangeLog typo) to commit r14-3777-gff20bce9f5879878f352f1fcd6ade023a2067598 It reverts the test revert in commit r14-3778-gfbbd9001e9b6f2c59b542cc53a8f9183514091ce which has a bogus commit hash and should have been rejected, but we missed that - before testing - the script had to be manually copied to the right place on sourceware to be affective as pre-commit hook. Thus, the r14-3777 commit had to be reinstate by this commit ... contrib/ChangeLog: * gcc-changelog/git_commit.py (GitCommit.__init__): Handle commit_to_info_hook = None; otherwise, if None, regard it as error. (to_changelog_entries): Handle commit_to_info_hook = None; if info is None, create a warning for it. * gcc-changelog/git_email.py (GitEmail.__init__): call super() with commit_to_info_hook=None instead of a lambda function.
2023-09-07Revert "contrib/gcc-changelog: Check whether revert-commit exists"Tobias Burnus2-16/+7
This reverts commit ffffffffffffffffffffffffffffffffffffffff.
2023-09-07contrib/gcc-changelog: Check whether revert-commit existsTobias Burnus2-7/+16
contrib/ChangeLog: * gcc-changelog/git_commit.py (GitCommit.__init__): Handle commit_to_info_hook = None; otherwise, if None, regard it as error. (to_changelog_entries): Handle commit_to_info_hook = None; if info is None, create a warning for it. * gcc-changelog/git_email.py (GitEmail.__init__): call super() with commit_to_info_hook=None instead of a lamda function.
2023-09-05Daily bump.GCC Administrator1-0/+5
2023-09-04mklog: handle Signed-off-by, minor cleanupMarc Poulhiès2-15/+39
Consider Signed-off-by lines as part of the ending of the initial commit to avoid having these in the middle of the log when the changelog part is injected after. This is particularly usefull with: $ git gcc-commit-mklog --amend -s that can be used to create the changelog and add the Signed-off-by line. Also applies most of the shellcheck suggestions on the prepare-commit-msg hook. contrib/ChangeLog: * mklog.py: Leave SOB lines after changelog. * prepare-commit-msg: Apply most shellcheck suggestions. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2023-08-30Daily bump.GCC Administrator1-0/+4
2023-08-29mklog: fix bugs of --append optionLehua Ding1-3/+5
This little patch fix two bugs of mklog.py with --append option. The first bug is that the regexp used is not accurate enough to determine the top of diff area. The second bug is that if `---` is not a true start, it needs to be added back to the patch file. And with additional fix Python code format error, which Martin reported. contrib/ChangeLog: * mklog.py: Fix bugs.
2023-08-17Daily bump.GCC Administrator1-0/+4
2023-08-16Add libstdc++-v3/include/bits/version.h to gcc_update touch partAndrew Pinski1-0/+1
This adds libstdc++-v3/include/bits/version.h so it has the correct timestamp. Committed as obvious after running contrib/gcc_update --touch contrib/ChangeLog: * gcc_update: Add libstdc++-v3/include/bits/version.h.
2023-07-14Daily bump.GCC Administrator1-0/+4
2023-07-13mklog: Add --append option to auto add generate ChangeLog to patch fileLehua Ding1-1/+26
This tiny patch add --append option to mklog.py that support add generated change-log to the corresponding patch file. With this option there is no need to manually copy the generated change-log to the patch file. e.g.: Run `mklog.py --append /path/to/this/patch` will add the generated change-log to the right place of the /path/to/this/patch file. contrib/ChangeLog: * mklog.py: Add --append option. Signed-off-by: Lehua Ding <lehua.ding@rivai.ai>
2023-07-08Daily bump.GCC Administrator1-0/+5
2023-07-07Closing the GCC 10 branchRichard Biener1-1/+1
contrib/ * gcc-changelog/git_update_version.py: Remove GCC 10 from active_refs. maintainer-scripts/ * crontab: Remove entry for GCC 10.
2023-06-23Daily bump.GCC Administrator1-0/+6
2023-06-21diagnostics: add support for "text art" diagramsDavid Malcolm3-0/+246
Existing text output in GCC has to be implemented by writing sequentially to a pretty_printer instance. This makes it hard to implement some kinds of diagnostic output (see e.g. diagnostic-show-locus.cc). This patch adds more flexible ways of creating text output: - a canvas class, which can be "painted" to via random-access (rather that sequentially) - a table class for 2D grid layout, supporting items that span multiple rows/columns - a widget class for organizing diagrams hierarchically. The patch also expands GCC's diagnostics subsystem so that diagnostics can have "text art" diagrams - think ASCII art, but potentially including some Unicode characters, such as box-drawing chars. The new code is in a new "gcc/text-art" subdirectory and "text_art" namespace. The patch adds a new "-fdiagnostics-text-art-charset=VAL" option, with values: - "none": don't emit diagrams (added to -fdiagnostics-plain-output) - "ascii": use pure ASCII in diagrams - "unicode": allow for conservative use of unicode drawing characters (such as box-drawing characters). - "emoji" (the default): as "unicode", but potentially allow for conservative use of emoji in the output (such as U+26A0 WARNING SIGN). I made it possible to disable emoji separately from unicode as I believe there's a generation gap in acceptance of these characters (some older programmers have a visceral reaction against them, whereas younger programmers may have no problem with them). Diagrams are emitted to stderr by default. With SARIF output they are captured as a location in "relatedLocations", with the diagram as a code block in Markdown within a "markdown" property of a message. This patch doesn't add any such diagram usage to GCC, saving that for followups, apart from adding a plugin to the test suite to exercise the functionality. contrib/ChangeLog: * unicode/gen-box-drawing-chars.py: New file. * unicode/gen-combining-chars.py: New file. * unicode/gen-printable-chars.py: New file. gcc/ChangeLog: * Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o, text-art/canvas.o, text-art/ruler.o, text-art/selftests.o, text-art/style.o, text-art/styled-string.o, text-art/table.o, text-art/theme.o, and text-art/widget.o. * color-macros.h (COLOR_FG_BRIGHT_BLACK): New. (COLOR_FG_BRIGHT_RED): New. (COLOR_FG_BRIGHT_GREEN): New. (COLOR_FG_BRIGHT_YELLOW): New. (COLOR_FG_BRIGHT_BLUE): New. (COLOR_FG_BRIGHT_MAGENTA): New. (COLOR_FG_BRIGHT_CYAN): New. (COLOR_FG_BRIGHT_WHITE): New. (COLOR_BG_BRIGHT_BLACK): New. (COLOR_BG_BRIGHT_RED): New. (COLOR_BG_BRIGHT_GREEN): New. (COLOR_BG_BRIGHT_YELLOW): New. (COLOR_BG_BRIGHT_BLUE): New. (COLOR_BG_BRIGHT_MAGENTA): New. (COLOR_BG_BRIGHT_CYAN): New. (COLOR_BG_BRIGHT_WHITE): New. * common.opt (fdiagnostics-text-art-charset=): New option. (diagnostic-text-art.h): New SourceInclude. (diagnostic_text_art_charset) New Enum and EnumValues. * configure: Regenerate. * configure.ac (gccdepdir): Add text-art to loop. * diagnostic-diagram.h: New file. * diagnostic-format-json.cc (json_emit_diagram): New. (diagnostic_output_format_init_json): Wire it up to context->m_diagrams.m_emission_cb. * diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and "text-art/canvas.h". (sarif_result::on_nested_diagnostic): Move code to... (sarif_result::add_related_location): ...this new function. (sarif_result::on_diagram): New. (sarif_builder::emit_diagram): New. (sarif_builder::make_message_object_for_diagram): New. (sarif_emit_diagram): New. (diagnostic_output_format_init_sarif): Set context->m_diagrams.m_emission_cb to sarif_emit_diagram. * diagnostic-text-art.h: New file. * diagnostic.cc: Include "diagnostic-text-art.h", "diagnostic-diagram.h", and "text-art/theme.h". (diagnostic_initialize): Initialize context->m_diagrams and call diagnostics_text_art_charset_init. (diagnostic_finish): Clean up context->m_diagrams.m_theme. (diagnostic_emit_diagram): New. (diagnostics_text_art_charset_init): New. * diagnostic.h (text_art::theme): New forward decl. (class diagnostic_diagram): Likewise. (diagnostic_context::m_diagrams): New field. (diagnostic_emit_diagram): New decl. * doc/invoke.texi (Diagnostic Message Formatting Options): Add -fdiagnostics-text-art-charset=. (-fdiagnostics-plain-output): Add -fdiagnostics-text-art-charset=none. * gcc.cc: Include "diagnostic-text-art.h". (driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_. * opts-common.cc (decode_cmdline_options_to_array): Add "-fdiagnostics-text-art-charset=none" to expanded_args for -fdiagnostics-plain-output. * opts.cc: Include "diagnostic-text-art.h". (common_handle_option): Handle OPT_fdiagnostics_text_art_charset_. * pretty-print.cc (pp_unicode_character): New. * pretty-print.h (pp_unicode_character): New decl. * selftest-run-tests.cc: Include "text-art/selftests.h". (selftest::run_tests): Call text_art_tests. * text-art/box-drawing-chars.inc: New file, generated by contrib/unicode/gen-box-drawing-chars.py. * text-art/box-drawing.cc: New file. * text-art/box-drawing.h: New file. * text-art/canvas.cc: New file. * text-art/canvas.h: New file. * text-art/ruler.cc: New file. * text-art/ruler.h: New file. * text-art/selftests.cc: New file. * text-art/selftests.h: New file. * text-art/style.cc: New file. * text-art/styled-string.cc: New file. * text-art/table.cc: New file. * text-art/table.h: New file. * text-art/theme.cc: New file. * text-art/theme.h: New file. * text-art/types.h: New file. * text-art/widget.cc: New file. * text-art/widget.h: New file. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-none.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test. * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. libcpp/ChangeLog: * charset.cc (get_cppchar_property): New function template, based on... (cpp_wcwidth): ...this function. Rework to use the above. Include "combining-chars.inc". (cpp_is_combining_char): New function Include "printable-chars.inc". (cpp_is_printable_char): New function * combining-chars.inc: New file, generated by contrib/unicode/gen-combining-chars.py. * include/cpplib.h (cpp_is_combining_char): New function decl. (cpp_is_printable_char): New function decl. * printable-chars.inc: New file, generated by contrib/unicode/gen-printable-chars.py. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2023-06-18Daily bump.GCC Administrator1-0/+5
2023-06-17[contrib] validate_failures.py: Don't consider summary line in wrong placeThiago Jung Bauermann1-4/+14
When parsing a summary or manifest file, if we're not either after a tool line (e.g. "=== gdb tests ===") or before a summary line (e.g., "=== gdb Summary ===") then the current line can't be a valid result line so ignore it. This addresses a problem we're seeing when running the GDB testsuite in our CI environment where it produces a valid summary file, but then after the "=== gdb Summary ===" section it outputs a series of Tcl errors that match _VALID_TEST_RESULTS_REX and thus confuse the parsing logic: 05: 14:32 .sum file seems to be broken: tool="None", exp="None", summary_line="ERROR: -------------------------------------------" 05: 14:32 Traceback (most recent call last): 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 706, in <module> 05: 14:32 retval = Main(sys.argv) 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 697, in Main 05: 14:32 retval = CheckExpectedResults() 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 572, in CheckExpectedResults 05: 14:32 actual = GetResults(sum_files) 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 447, in GetResults 05: 14:32 build_results.update(ParseSummary(sum_fname)) 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 389, in ParseSummary 05: 14:32 result = result_set.MakeTestResult(line, ordinal) 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 236, in MakeTestResult 05: 14:32 return TestResult(summary_line, ordinal, 05: 14:32 File "/path/to/gcc/contrib/testsuite-management/validate_failures.py", line 148, in __init__ 05: 14:32 raise contrib/ChangeLog: * testsuite-management/validate_failures.py (IsInterestingResult): Add result_set argument and use it. Adjust callers.
2023-06-15Daily bump.GCC Administrator1-0/+64
2023-06-14[contrib] validate_failures.py: Ignore stray filesystem paths in resultsMaxim Kuvyrkov1-0/+15
This patch simplifies comparison of results that have filesystem paths. E.g., (assuming different values of <N>): <cut> Running /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ... ERROR: tcl error sourcing /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp. </cut> We add "--srcpath <regex>", option, and set it by default to "[^ ]+/testsuite/", which works well for all components of the GNU Toolchain. We then remove substrings matching <regex> from paths of .exp files and from occasional "ERROR:" results. contrib/ChangeLog: * testsuite-management/validate_failures.py (TestResult,) (ParseManifestWorker, ParseSummary, Main): Handle new option "--srcpath <regex>".
2023-06-14[contrib] validate_failures.py: Add "--expiry_date YYYYMMDD" optionMaxim Kuvyrkov1-2/+22
This option sets "today" date to compare expiration entries against. Setting expiration date into the future allows re-detection of flaky tests and creating fresh entries for them before the current flaky entries expire. contrib/ChangeLog: * testsuite-management/validate_failures.py (TestResult): Update. (Main): Handle new option "--expiry_date YYYYMMDD".
2023-06-14[contrib] validate_failures.py: Add new option --invert_matchMaxim Kuvyrkov1-2/+32
This option is used to detect flaky tests that FAILed in the clean build (or manifest), but PASSed in the current build (or manifest). The option inverts output logic similar to what "-v/--invert-match" does for grep. contrib/ChangeLog: * testsuite-management/validate_failures.py (ResultSet.update,) (ResultSet.HasTestsuite): New methods. (GetResults): Update. (ParseSummary, CompareResults, PerformComparison, Main): Handle new option --invert_match.
2023-06-14[contrib] validate_failures.py: Improve error outputThiago Bauermann1-1/+4
- Print message in case of broken sum file error. - Print error messages to stderr. The script's stdout is, usually, redirected to a file, and error messages shouldn't go there. contrib/ChangeLog: * testsuite-management/validate_failures.py (TestResult): Improve error output.
2023-06-14[contrib] validate_failures.py: Support "$tool:" prefix in exp namesChristophe Lyon1-3/+5
This makes it easier to extract the $tool:$exp pair when iterating over failures/flaky tests, which, in turn, simplifies re-running testsuite parts that have unexpected failures or passes. contrib/ChangeLog: * testsuite-management/validate_failures.py (_EXP_LINE_FORMAT,) (_EXP_LINE_REX, ResultSet): Support "$tool:" prefix in exp names.
2023-06-14[contrib] validate_failures.py: Use exit code "2" to indicate regressionMaxim Kuvyrkov1-1/+1
... in the results. Python exits with code "1" on exceptions and internal errors, which we use to detect failure to parse results. contrib/ChangeLog: * testsuite-management/validate_failures.py (Main): Use exit code "2" to indicate regression.
2023-06-14[contrib] validate_failures.py: Be more stringent in parsing result linesMaxim Kuvyrkov1-4/+4
Before this patch we would identify malformed line "UNRESOLVEDTest run by tcwg-buildslave on Mon Aug 23 10:17:50 2021" as an interesting result, only to fail in TestResult:__init__ due to missing ":" after UNRESOLVED. This patch makes all places that parse result lines use a single compiled regex. contrib/ChangeLog: * testsuite-management/validate_failures.py (_VALID_TEST_RESULTS_REX): Update. (TestResult): Use _VALID_TEST_RESULTS_REX.