diff mbox series

testsuite: Windows paths use \ and not /

Message ID 20220930153845.2268381-1-torbjorn.svensson@foss.st.com
State New
Headers show
Series testsuite: Windows paths use \ and not / | expand

Commit Message

Torbjorn SVENSSON Sept. 30, 2022, 3:38 p.m. UTC
libstdc++-v3/testsuite:

	* 20_util/bind/ref_neg.cc: Prune Windows paths too.

Co-Authored-By: Yvan ROUX  <yvan.roux@foss.st.com>
Signed-off-by: Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
---
 libstdc++-v3/testsuite/20_util/bind/ref_neg.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jonathan Wakely Sept. 30, 2022, 4:26 p.m. UTC | #1
On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
<torbjorn.svensson@foss.st.com> wrote:
>
> libstdc++-v3/testsuite:
>
>         * 20_util/bind/ref_neg.cc: Prune Windows paths too.

Please CC the libstdc++ for libstdc++ patches.

OK for trunk, thanks.


>
> Co-Authored-By: Yvan ROUX  <yvan.roux@foss.st.com>
> Signed-off-by: Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
> ---
>  libstdc++-v3/testsuite/20_util/bind/ref_neg.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> index e779d2f20bd..1e9f3e7fece 100644
> --- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> +++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> @@ -50,7 +50,7 @@ void test02()
>
>  // Ignore the reasons for deduction/substitution failure in the headers.
>  // Arrange for the match to work on installed trees as well as build trees.
> -// { dg-prune-output "/(functional|bits/invoke.h):" }
> +// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
>
>  int main()
>  {
> --
> 2.25.1
>
Jonathan Wakely Sept. 30, 2022, 5:47 p.m. UTC | #2
On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
>
> On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> <torbjorn.svensson@foss.st.com> wrote:
> >
> > libstdc++-v3/testsuite:
> >
> >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
>
> Please CC the libstdc++ for libstdc++ patches.
>
> OK for trunk, thanks.

I'm seeing errors now on x86_64-linux:

ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "

ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "





>
>
> >
> > Co-Authored-By: Yvan ROUX  <yvan.roux@foss.st.com>
> > Signed-off-by: Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
> > ---
> >  libstdc++-v3/testsuite/20_util/bind/ref_neg.cc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > index e779d2f20bd..1e9f3e7fece 100644
> > --- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > +++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > @@ -50,7 +50,7 @@ void test02()
> >
> >  // Ignore the reasons for deduction/substitution failure in the headers.
> >  // Arrange for the match to work on installed trees as well as build trees.
> > -// { dg-prune-output "/(functional|bits/invoke.h):" }
> > +// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
> >
> >  int main()
> >  {
> > --
> > 2.25.1
> >
Jakub Jelinek Sept. 30, 2022, 5:55 p.m. UTC | #3
On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
> On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
> >
> > On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> > <torbjorn.svensson@foss.st.com> wrote:
> > >
> > > libstdc++-v3/testsuite:
> > >
> > >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
> >
> > Please CC the libstdc++ for libstdc++ patches.
> >
> > OK for trunk, thanks.
> 
> I'm seeing errors now on x86_64-linux:
> 
> ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> 
> ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "

Bet it should be
// { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
or so.  Completely untested.

> > > Co-Authored-By: Yvan ROUX  <yvan.roux@foss.st.com>
> > > Signed-off-by: Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
> > > ---
> > >  libstdc++-v3/testsuite/20_util/bind/ref_neg.cc | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > > index e779d2f20bd..1e9f3e7fece 100644
> > > --- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > > +++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
> > > @@ -50,7 +50,7 @@ void test02()
> > >
> > >  // Ignore the reasons for deduction/substitution failure in the headers.
> > >  // Arrange for the match to work on installed trees as well as build trees.
> > > -// { dg-prune-output "/(functional|bits/invoke.h):" }
> > > +// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
> > >
> > >  int main()
> > >  {
> > > --
> > > 2.25.1
> > >

	Jakub
Jonathan Wakely Sept. 30, 2022, 6:04 p.m. UTC | #4
On Fri, 30 Sept 2022 at 18:55, Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
> > On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
> > >
> > > On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> > > <torbjorn.svensson@foss.st.com> wrote:
> > > >
> > > > libstdc++-v3/testsuite:
> > > >
> > > >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
> > >
> > > Please CC the libstdc++ for libstdc++ patches.
> > >
> > > OK for trunk, thanks.
> >
> > I'm seeing errors now on x86_64-linux:
> >
> > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> >
> > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
>
> Bet it should be
> // { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
> or so.  Completely untested.

That fixes the error, but now the regex doesn't match so there are
still excess errors. It needs to be:

// { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }

Without any regex special characters, there's an implicit .* before
and after the pattern. But when you use any regex special characters
in the pattern, it stops working. I can't remember why. I figured it
out once.
Jonathan Wakely Sept. 30, 2022, 6:07 p.m. UTC | #5
On Fri, 30 Sept 2022 at 19:04, Jonathan Wakely <jwakely@redhat.com> wrote:
>
> On Fri, 30 Sept 2022 at 18:55, Jakub Jelinek <jakub@redhat.com> wrote:
> >
> > On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
> > > On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
> > > >
> > > > On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> > > > <torbjorn.svensson@foss.st.com> wrote:
> > > > >
> > > > > libstdc++-v3/testsuite:
> > > > >
> > > > >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
> > > >
> > > > Please CC the libstdc++ for libstdc++ patches.
> > > >
> > > > OK for trunk, thanks.
> > >
> > > I'm seeing errors now on x86_64-linux:
> > >
> > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> > >
> > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> >
> > Bet it should be
> > // { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
> > or so.  Completely untested.
>
> That fixes the error, but now the regex doesn't match so there are
> still excess errors. It needs to be:
>
> // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }
>
> Without any regex special characters, there's an implicit .* before
> and after the pattern. But when you use any regex special characters
> in the pattern, it stops working. I can't remember why. I figured it
> out once.

It looks like just adding .* at the start is enough:

// { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):" }

But that's so ugly, I'm tempted to replace that prune with something different.
Jonathan Wakely Sept. 30, 2022, 6:12 p.m. UTC | #6
On Fri, 30 Sept 2022 at 19:07, Jonathan Wakely <jwakely@redhat.com> wrote:
>
> On Fri, 30 Sept 2022 at 19:04, Jonathan Wakely <jwakely@redhat.com> wrote:
> >
> > On Fri, 30 Sept 2022 at 18:55, Jakub Jelinek <jakub@redhat.com> wrote:
> > >
> > > On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
> > > > On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
> > > > >
> > > > > On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> > > > > <torbjorn.svensson@foss.st.com> wrote:
> > > > > >
> > > > > > libstdc++-v3/testsuite:
> > > > > >
> > > > > >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
> > > > >
> > > > > Please CC the libstdc++ for libstdc++ patches.
> > > > >
> > > > > OK for trunk, thanks.
> > > >
> > > > I'm seeing errors now on x86_64-linux:
> > > >
> > > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> > > >
> > > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> > >
> > > Bet it should be
> > > // { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
> > > or so.  Completely untested.
> >
> > That fixes the error, but now the regex doesn't match so there are
> > still excess errors. It needs to be:
> >
> > // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }
> >
> > Without any regex special characters, there's an implicit .* before
> > and after the pattern. But when you use any regex special characters
> > in the pattern, it stops working. I can't remember why. I figured it
> > out once.
>
> It looks like just adding .* at the start is enough:
>
> // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):" }
>
> But that's so ugly, I'm tempted to replace that prune with something different.

I'll finish testing this and push it.
commit 8d10c215fcf8425b4c514e1d10a15a6086aa8442
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Sep 30 19:10:29 2022

    libstdc++: Fix broken dg-prune-output
    
    The new pattern in the dg-prune-output directive doesn't work. Instead
    of a messy regex full of leaning toothpicks, just match on the
    diagnostic text instead of the header paths.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output
            directive.

diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index 1e9f3e7fece..1d4b1b66c76 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -50,7 +50,7 @@ void test02()
 
 // Ignore the reasons for deduction/substitution failure in the headers.
 // Arrange for the match to work on installed trees as well as build trees.
-// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
+// { dg-prune-output "no type named 'type' in .*std::result_of" }
 
 int main()
 {
Andreas Schwab Sept. 30, 2022, 6:23 p.m. UTC | #7
On Sep 30 2022, Jonathan Wakely via Gcc-patches wrote:

> That fixes the error, but now the regex doesn't match so there are
> still excess errors. It needs to be:
>
> // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }

In Tcl "." matches newlines, thus this will prune too much.
Jonathan Wakely Sept. 30, 2022, 9:07 p.m. UTC | #8
On Fri, 30 Sept 2022 at 19:13, Jonathan Wakely via Libstdc++
<libstdc++@gcc.gnu.org> wrote:
>
> On Fri, 30 Sept 2022 at 19:07, Jonathan Wakely <jwakely@redhat.com> wrote:
> >
> > On Fri, 30 Sept 2022 at 19:04, Jonathan Wakely <jwakely@redhat.com> wrote:
> > >
> > > On Fri, 30 Sept 2022 at 18:55, Jakub Jelinek <jakub@redhat.com> wrote:
> > > >
> > > > On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
> > > > > On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
> > > > > >
> > > > > > On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
> > > > > > <torbjorn.svensson@foss.st.com> wrote:
> > > > > > >
> > > > > > > libstdc++-v3/testsuite:
> > > > > > >
> > > > > > >         * 20_util/bind/ref_neg.cc: Prune Windows paths too.
> > > > > >
> > > > > > Please CC the libstdc++ for libstdc++ patches.
> > > > > >
> > > > > > OK for trunk, thanks.
> > > > >
> > > > > I'm seeing errors now on x86_64-linux:
> > > > >
> > > > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> > > > >
> > > > > ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
> > > > > dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
> > > >
> > > > Bet it should be
> > > > // { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
> > > > or so.  Completely untested.
> > >
> > > That fixes the error, but now the regex doesn't match so there are
> > > still excess errors. It needs to be:
> > >
> > > // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }
> > >
> > > Without any regex special characters, there's an implicit .* before
> > > and after the pattern. But when you use any regex special characters
> > > in the pattern, it stops working. I can't remember why. I figured it
> > > out once.
> >
> > It looks like just adding .* at the start is enough:
> >
> > // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):" }
> >
> > But that's so ugly, I'm tempted to replace that prune with something different.
>
> I'll finish testing this and push it.

I committed this instead, with no .* in the pattern.
commit 7069d03ba4ad6133225b89d433d9e86f0b0745b8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Sep 30 19:10:29 2022

    libstdc++: Fix broken dg-prune-output
    
    The new pattern in the dg-prune-output directive doesn't work. Instead
    of a messy regex full of leaning toothpicks, just match on the
    diagnostic text instead of the header paths.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output
            directive.

diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index 1e9f3e7fece..a78935775c2 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -50,7 +50,7 @@ void test02()
 
 // Ignore the reasons for deduction/substitution failure in the headers.
 // Arrange for the match to work on installed trees as well as build trees.
-// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
+// { dg-prune-output "no type named 'type' in 'struct std::result_of" }
 
 int main()
 {
Torbjorn SVENSSON Oct. 1, 2022, 11:02 a.m. UTC | #9
Hi,

I'm really sorry for the mess.
I did test my patch, but I just looked for the PASS/FAIL for the excess 
errors and missed that there was an error with the pattern.
In the end, the patch that you pushed is much better. Thanks for fixing 
the issue in my absence.

Kind regards,
Torbjörn

On 2022-09-30 23:07, Jonathan Wakely wrote:
> On Fri, 30 Sept 2022 at 19:13, Jonathan Wakely via Libstdc++
> <libstdc++@gcc.gnu.org> wrote:
>>
>> On Fri, 30 Sept 2022 at 19:07, Jonathan Wakely <jwakely@redhat.com> wrote:
>>>
>>> On Fri, 30 Sept 2022 at 19:04, Jonathan Wakely <jwakely@redhat.com> wrote:
>>>>
>>>> On Fri, 30 Sept 2022 at 18:55, Jakub Jelinek <jakub@redhat.com> wrote:
>>>>>
>>>>> On Fri, Sep 30, 2022 at 06:47:07PM +0100, Jonathan Wakely via Gcc-patches wrote:
>>>>>> On Fri, 30 Sept 2022 at 17:26, Jonathan Wakely wrote:
>>>>>>>
>>>>>>> On Fri, 30 Sept 2022 at 17:04, Torbjörn SVENSSON
>>>>>>> <torbjorn.svensson@foss.st.com> wrote:
>>>>>>>>
>>>>>>>> libstdc++-v3/testsuite:
>>>>>>>>
>>>>>>>>          * 20_util/bind/ref_neg.cc: Prune Windows paths too.
>>>>>>>
>>>>>>> Please CC the libstdc++ for libstdc++ patches.
>>>>>>>
>>>>>>> OK for trunk, thanks.
>>>>>>
>>>>>> I'm seeing errors now on x86_64-linux:
>>>>>>
>>>>>> ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
>>>>>> dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
>>>>>>
>>>>>> ERROR: 20_util/bind/ref_neg.cc: unknown dg option: /\\ for "
>>>>>> dg-prune-output 53 "[/\\](functional|bits/invoke.h):" "
>>>>>
>>>>> Bet it should be
>>>>> // { dg-prune-output "\[/\\](functional|bits\[/\\]invoke.h):" }
>>>>> or so.  Completely untested.
>>>>
>>>> That fixes the error, but now the regex doesn't match so there are
>>>> still excess errors. It needs to be:
>>>>
>>>> // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" }
>>>>
>>>> Without any regex special characters, there's an implicit .* before
>>>> and after the pattern. But when you use any regex special characters
>>>> in the pattern, it stops working. I can't remember why. I figured it
>>>> out once.
>>>
>>> It looks like just adding .* at the start is enough:
>>>
>>> // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):" }
>>>
>>> But that's so ugly, I'm tempted to replace that prune with something different.
>>
>> I'll finish testing this and push it.
> 
> I committed this instead, with no .* in the pattern.
diff mbox series

Patch

diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index e779d2f20bd..1e9f3e7fece 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -50,7 +50,7 @@  void test02()
 
 // Ignore the reasons for deduction/substitution failure in the headers.
 // Arrange for the match to work on installed trees as well as build trees.
-// { dg-prune-output "/(functional|bits/invoke.h):" }
+// { dg-prune-output "[/\\](functional|bits/invoke.h):" }
 
 int main()
 {