Skip to content
Snippets Groups Projects
  1. Jan 02, 2025
  2. Dec 01, 2024
    • Gabi Falk's avatar
      [contrib] validate_failures.py: fix python 3.12 escape sequence warnings · 90becd94
      Gabi Falk authored
      The warnings:
      contrib/testsuite-management/validate_failures.py:65: SyntaxWarning: invalid escape sequence '\s'
        _VALID_TEST_RESULTS_REX = re.compile('(%s):\s*(\S+)\s*(.*)'
      contrib/testsuite-management/validate_failures.py:77: SyntaxWarning: invalid escape sequence '\.'
        _EXP_LINE_REX = re.compile('^Running (?:.*:)?(.*) \.\.\.\n')
      
      contrib/ChangeLog:
      	* testsuite-management/validate_failures.py: Change re.compile()
      	function arguments to Python raw strings.
      90becd94
  3. Jan 03, 2024
  4. Jun 17, 2023
    • Thiago Jung Bauermann's avatar
      [contrib] validate_failures.py: Don't consider summary line in wrong place · 8955eed3
      Thiago Jung Bauermann authored
      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.
      8955eed3
  5. Jun 14, 2023
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Ignore stray filesystem paths in results · 9ef1391d
      Maxim Kuvyrkov authored
      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>".
      9ef1391d
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Add "--expiry_date YYYYMMDD" option · 316b1d66
      Maxim Kuvyrkov authored
      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".
      316b1d66
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Add new option --invert_match · 22a0ade8
      Maxim Kuvyrkov authored
      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.
      22a0ade8
    • Thiago Bauermann's avatar
      [contrib] validate_failures.py: Improve error output · 7aa47751
      Thiago Bauermann authored
      - 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.
      7aa47751
    • Christophe Lyon's avatar
      [contrib] validate_failures.py: Support "$tool:" prefix in exp names · 484a4864
      Christophe Lyon authored
      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.
      484a4864
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Use exit code "2" to indicate regression · 5d52f355
      Maxim Kuvyrkov authored
      ... 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.
      5d52f355
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Be more stringent in parsing result lines · d4d776a3
      Maxim Kuvyrkov authored
      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.
      d4d776a3
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Add more verbosity levels · e341d15b
      Maxim Kuvyrkov authored
      ... to control validate_failures.py output
      
      contrib/ChangeLog:
      
      	* testsuite-management/validate_failures.py: Add more verbosity levels.
      e341d15b
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Simplify GetManifestPath() · febe56cb
      Maxim Kuvyrkov authored
      ... and don't require a valid build directory when no data from it
      is necessary.
      
      contrib/ChangeLog:
      
      	* testsuite-management/validate_failures.py: Simplify GetManifestPath().
      febe56cb
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Read in manifest when comparing build dirs · 5f8cc7f0
      Maxim Kuvyrkov authored
      This allows comparison of two build directories with a manifest
      listing known flaky tests on the side.
      
      contrib/ChangeLog:
      
      	* testsuite-management/validate_failures.py (GetResults): Update.
      	(CompareBuilds): Read in manifest.
      5f8cc7f0
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Support expiry attributes in manifests · b713de1c
      Maxim Kuvyrkov authored
      contrib/ChangeLog:
      
      	* testsuite-management/validate_failures.py (ParseManifestWorker):
      	Support expiry attributes in manifests.
      	(ParseSummary): Add a comment.
      b713de1c
    • Maxim Kuvyrkov's avatar
      [contrib] validate_failures.py: Avoid testsuite aliasing · c8558627
      Maxim Kuvyrkov authored
      This patch adds tracking of current testsuite "tool" and "exp"
      to the processing of .sum files.  This avoids aliasing between
      tests from different testsuites with same name+description.
      
      E.g., this is necessary for testsuite/c-c++-common, which is ran
      for both gcc and g++ "tools".
      
      This patch changes manifest format from ...
      <cut>
      FAIL: gcc_test
      FAIL: g++_test
      </cut>
      ... to ...
      <cut>
      		=== gcc tests ===
      Running gcc/foo.exp ...
      FAIL: gcc_test
      		=== gcc Summary ==
      		=== g++ tests ===
      Running g++/bar.exp ...
      FAIL: g++_test
      		=== g++ Summary ==
      </cut>.
      
      The new format uses same formatting as DejaGnu's .sum files
      to specify which "tool" and "exp" the test belongs to.
      
      contrib/ChangeLog:
      
      	* testsuite-management/validate_failures.py: Avoid testsuite
      	aliasing.
      c8558627
  6. Jan 16, 2023
  7. Nov 05, 2021
  8. Jun 06, 2013
  9. Apr 18, 2013
  10. Feb 06, 2013
    • Diego Novillo's avatar
      * testsuite-management/validate_failures.py: Fix typo. · 144f2e52
      Diego Novillo authored
      From-SVN: r195819
      144f2e52
    • Diego Novillo's avatar
      Fix validate_failures.py in standalone testing. · 828e50c5
      Diego Novillo authored
      When using validate_failures.py with --manifest and --results, we
      don't need a GCC build directory.  This is useful when using the
      validator outside of the build tree.  We were insisting on finding
      a valid build tree regardless of those options.
      
      Tested on x86_64.  Committed to trunk.
      
      	* testsuite-management/validate_failures.py: Update
      	Copyright years.
      	Request contributions not to use Python features newer
      	than 2.4.
      	(GetBuildData): If this is not a build directory,
      	emit an error only if --results or --manifest are missing.
      
      From-SVN: r195817
      828e50c5
    • Bernhard Reutner-Fischer's avatar
      validate_failures.py: Fix performance regression · 143c83f1
      Bernhard Reutner-Fischer authored
      2013-02-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
      
      	* testsuite-management/validate_failures.py
      	(IsInterestingResult): Fix performance regression
      
      From-SVN: r195811
      143c83f1
  11. Dec 05, 2012
    • Bernhard Reutner-Fischer's avatar
      validate_failures.py: also ignore .git · 7fb1e592
      Bernhard Reutner-Fischer authored
      2012-12-01  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
      
      	* testsuite-management/validate_failures.py
      	(IsInterestingResult): Only strip line a second time if we did split.
      	Rephrase return statement while at it.
      	(CollectSumFiles): Also ignore .git directory.
      
      From-SVN: r194182
      7fb1e592
  12. Dec 03, 2012
    • Diego Novillo's avatar
      Fix stale use of old 'options' argument. · f15b9727
      Diego Novillo authored
      An earlier patch had made the command line options a global variable
      _OPTIONS, but it had not renamed all the uses of the old options argument.
      
      	* testsuite-management/validate_failures.py: Fix stale
      	use of 'options'.
      
      From-SVN: r194092
      f15b9727
  13. Nov 30, 2012
  14. Nov 29, 2012
  15. Nov 28, 2012
  16. Nov 02, 2012
    • Diego Novillo's avatar
      Add a new option --clean_build to validate_failures.py · b436bf38
      Diego Novillo authored
      This is useful when you have two builds of the same compiler.  One with
      your changes.  The other one, a clean build at the same revision.
      Instead of using a manifest file, --clean_build will compare the
      results it gather from the patched build against those it gathers from
      the clean build.
      
      Usage
      
      $ cd /top/of/patched/gcc/bld
      $ validate_failures.py --clean_build=clean/bld-gcc
      Source directory: /usr/local/google/home/dnovillo/gcc/trunk
      Build target:     x86_64-unknown-linux-gnu
      Getting actual results from build directory .
              ./x86_64-unknown-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
              ./x86_64-unknown-linux-gnu/libffi/testsuite/libffi.sum
              ./x86_64-unknown-linux-gnu/libgomp/testsuite/libgomp.sum
              ./x86_64-unknown-linux-gnu/libgo/libgo.sum
              ./x86_64-unknown-linux-gnu/boehm-gc/testsuite/boehm-gc.sum
              ./x86_64-unknown-linux-gnu/libatomic/testsuite/libatomic.sum
              ./x86_64-unknown-linux-gnu/libmudflap/testsuite/libmudflap.sum
              ./x86_64-unknown-linux-gnu/libitm/testsuite/libitm.sum
              ./x86_64-unknown-linux-gnu/libjava/testsuite/libjava.sum
              ./gcc/testsuite/g++/g++.sum
              ./gcc/testsuite/gnat/gnat.sum
              ./gcc/testsuite/ada/acats/acats.sum
              ./gcc/testsuite/gcc/gcc.sum
              ./gcc/testsuite/gfortran/gfortran.sum
              ./gcc/testsuite/obj-c++/obj-c++.sum
              ./gcc/testsuite/go/go.sum
              ./gcc/testsuite/objc/objc.sum
      Getting actual results from build directory clean/bld-gcc
              clean/bld-gcc/x86_64-unknown-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libffi/testsuite/libffi.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libgomp/testsuite/libgomp.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libgo/libgo.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/boehm-gc/testsuite/boehm-gc.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libatomic/testsuite/libatomic.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libmudflap/testsuite/libmudflap.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libitm/testsuite/libitm.sum
              clean/bld-gcc/x86_64-unknown-linux-gnu/libjava/testsuite/libjava.sum
              clean/bld-gcc/gcc/testsuite/g++/g++.sum
              clean/bld-gcc/gcc/testsuite/gnat/gnat.sum
              clean/bld-gcc/gcc/testsuite/ada/acats/acats.sum
              clean/bld-gcc/gcc/testsuite/gcc/gcc.sum
              clean/bld-gcc/gcc/testsuite/gfortran/gfortran.sum
              clean/bld-gcc/gcc/testsuite/obj-c++/obj-c++.sum
              clean/bld-gcc/gcc/testsuite/go/go.sum
              clean/bld-gcc/gcc/testsuite/objc/objc.sum
      
      SUCCESS: No unexpected failures.
      
      2012-11-02  Diego Novillo  <dnovillo@google.com>
      
      	* testsuite-management/validate_failures.py: Add option
      	--clean_build to compare test results against another
      	build.
      
      From-SVN: r193105
      b436bf38
  17. Oct 31, 2012
  18. Aug 13, 2012
  19. Jul 26, 2012
    • Diego Novillo's avatar
      Do not use 'with ... as ...' in validate_failures.py · 55b073ba
      Diego Novillo authored
      Some of the hosts were we run this script are still using Python 2.4.
      This patch replaces the use of 'with ... as ...' to avoid syntax errors.
      
      2012-07-26   Diego Novillo  <dnovillo@google.com>
      
      	* testsuite-management/validate_failures.py: Do not use
      	'with ... as ...' constructs.
      
      From-SVN: r189893
      55b073ba
Loading