tree e859ce272b48aa03faa602c6e00df95d8e390ac3
parent 3c5c3649729ba3f94f9d28f10aa2270c8c7e4aa9
author Andrew Burgess <andrew.burgess@embecosm.com> 1589538239 +0100
committer Andrew Burgess <andrew.burgess@embecosm.com> 1589539282 +0100

contrib: Update dg-extract-results.* from gcc

Pull the latest version of the dg-extract-results.* scripts from the
gcc repository.  This picks up this commit from gcc:

  commit c9a41202b272b0b3a3c64a96ef4a5a97579eb017
  Date:   Mon May 11 22:32:35 2020 +0100

  contrib: Handle GDB specific test result types

  This commit is for the benefit of GDB, but as the binutils-gdb
  repository shares the contrib/ directory with gcc, this commit must
  first be applied to gcc then copied back to binutils-gdb.

  This commit extends the two scripts contrib/dg-extract-results.{py,sh}
  to handle some new, GDB specific test result types.  These test
  results types should never appear in GCC, or any other tool that
  shares the contrib/ directly, so this change should be harmless.

  In this patch series:
    https://sourceware.org/pipermail/gdb-patches/2020-April/167847.html
  changes were made in GDB's use of Dejagnu so that two additional
  conditions could be detected, these are:

    1. Test names that contain either the build or source paths.  Such
    test names make it difficult to compare the results of two test runs
    of GDB from two different directories, and

    2. Duplicate test names.  Duplicates make it difficult to track down
    exactly which test has failed.

  When running Dejagnu on GDB we can now (sometimes) see two additional
  test result types matching the above conditions, these are '# of paths
  in test names' and '# of duplicate test names'.

  If the test is run in parallel mode (make -j...) then these extra test
  results will appear in the individual test summary files, but are not
  merged into the final summary file.

  Additionally, within the summary file there are now two new types of
  test summary line, these are 'PATH: ...' and 'DUPLICATE: ...', these
  allow users to quickly search the test summary to track down where the
  offending test names are.  These lines are similarly not merged into
  the unified gdb.sum file after a parallel test run.

  This commit extends the dg-extract-results.* scripts to calculate the
  totals for the two new result types, and to copy the new test summary
  lines into the unified summary file.

contrib/ChangeLog:

	* dg-extract-results.py: Update from gcc repo.
	* dg-extract-results.sh: Likewise.
