public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
From: Cl?ment Chigot <helflym@sourceware.org>
To: bfd-cvs@sourceware.org
Subject: [binutils-gdb] testsuite: prune DOS drive letter in test outputs
Date: Fri, 24 Feb 2023 13:35:31 +0000 (GMT)	[thread overview]
Message-ID: <20230224133531.36A14385840F@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2b69325792f7aed5416aa4489dabd197e4c17254

commit 2b69325792f7aed5416aa4489dabd197e4c17254
Author: Clément Chigot <chigot@adacore.com>
Date:   Tue Feb 21 15:07:58 2023 +0100

    testsuite: prune DOS drive letter in test outputs
    
    On DOS systems, absolute paths start with the drive letter. This can
    trigger failures in the regexp from dump tests, especially for those
    checking for warnings or errors. They are usually skipping everything
    before the first ":" as it has to be the file path.
      | [^:]*: warning: ...
    
    In order to avoid modifying many regexps to allow such drive letters,
    prune them from all the outputs if they are found at the beginning of
    a line.
    
    binutils/ChangeLog:
    
            * testsuite/lib/binutils-common.exp (prune_dump_output): New
            (run_dump_test): Use it.
    
    ld/ChangeLog:
    
            * testsuite/ld-elf/noinit-sections-2.l: Remove DOS drive letter
            handler.

Diff:
---
 binutils/testsuite/lib/binutils-common.exp | 18 +++++++++++++++++-
 ld/testsuite/ld-elf/noinit-sections-2.l    |  4 ++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index ab752417295..530316e54cd 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -687,6 +687,22 @@ if ![string length [info proc prune_warnings]] {
     }
 }
 
+# prune_dump_output OUTPUT
+#
+# Clean up the output from system specific or unwanted characters.
+# This allows to simplify the regexp inside dump tests.
+proc prune_dump_output { output } {
+    if [ishost "*-*-mingw*"] {
+	# Prune DOS drive letter from an absolute path if it appears
+	# at the beginning of a line.
+	regsub -all {(^|\n)[[:alpha:]]:(/|\\)} $output "\\1\\2" output
+    }
+
+    # Prune last end of line.
+    regsub "\n$" $output "" output
+    return $output
+}
+
 # run_dump_test FILE (optional:) EXTRA_OPTIONS
 #
 # Assemble a .s file, then run some utility on it and check the output.
@@ -1450,7 +1466,7 @@ proc run_dump_test { name {extra_options {}} } {
 	    }
 	}
 
-	regsub "\n$" $comp_output "" comp_output
+	set comp_output [prune_dump_output $comp_output]
 	if { $cmdret != 0 || $comp_output != "" || $want_out(source) != "" } {
 	    set exitstat "succeeded"
 	    if { $cmdret != 0 } { set exitstat "failed" }
diff --git a/ld/testsuite/ld-elf/noinit-sections-2.l b/ld/testsuite/ld-elf/noinit-sections-2.l
index 8ed2716c549..0784c9e3e12 100644
--- a/ld/testsuite/ld-elf/noinit-sections-2.l
+++ b/ld/testsuite/ld-elf/noinit-sections-2.l
@@ -1,5 +1,5 @@
 #...
-(|.:)[^:]*: warning: orphan section `.noinit.var_noinit' from \S+ being placed in section `.noinit.var_noinit'
+[^:]*: warning: orphan section `.noinit.var_noinit' from \S+ being placed in section `.noinit.var_noinit'
 #...
-(|.:)[^:]*: warning: orphan section `.gnu.linkonce.n.var_noinit2' from \S+ being placed in section `.gnu.linkonce.n.var_noinit2'
+[^:]*: warning: orphan section `.gnu.linkonce.n.var_noinit2' from \S+ being placed in section `.gnu.linkonce.n.var_noinit2'
 #pass

                 reply	other threads:[~2023-02-24 13:35 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230224133531.36A14385840F@sourceware.org \
    --to=helflym@sourceware.org \
    --cc=bfd-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).