gdb/testsuite: remove duplicate test from gdb.cp/maint.exp
authorAndrew Burgess <andrew.burgess@embecosm.com>
Wed, 17 Mar 2021 09:19:50 +0000 (09:19 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 26 Mar 2021 14:04:17 +0000 (14:04 +0000)
I wanted to remove the duplicate test name from gdb.cp/maint.exp.  In
this test we run some checks against different operator names.  For
one operator we test with a variable number of spaces.  However, we
were accidentally testing the one space version twice, and the zero
space version not at all, leading to a duplicate test name.

I could have just changed the duplicate one space version into the
missing zero space version, but I thought it would be neater to wrap
multiple tests in a loop, and check all operators with either zero,
one, or two spaces.

These tests are super quick so take almost no extra time, and this
gives marginally more test coverage.

gdb/testsuite/ChangeLog:

* gdb.cp/maint.exp (test_first_component): Run more tests with a
variable number of spaces, this removes the duplicate testing of
'operator ->' which existed before.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/maint.exp

index 3fe36b3db463159fff3cde7d1983ff8e67dc6619..8e603630c1ecb2128544c4960589f67e9cb8748c 100644 (file)
@@ -1,3 +1,9 @@
+2021-03-26  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdb.cp/maint.exp (test_first_component): Run more tests with a
+       variable number of spaces, this removes the duplicate testing of
+       'operator ->' which existed before.
+
 2021-03-26  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * gdb.cp/gdb2384.cc (main): Change comments used for breakpoints.
index 0f83b173714fbbb96469ebd65a49b4887b3993f9..358c1a40267792f87fa87989a91d30400142e48d 100644 (file)
@@ -61,21 +61,22 @@ proc test_first_component {} {
     gdb_test_no_output "set complaints 1000"
 
     test_single_component "foo"
-    test_single_component "operator<<"
-    test_single_component "operator>>"
-    test_single_component "operator ->"
-    test_single_component "operator()"
-    test_single_component "operator>"
-    test_single_component "operator<"
-    test_single_component "operator ->"
-    test_single_component "operator  ->"
-
-    test_single_component "foo()"
-    test_single_component "foo(int)"
-    test_single_component "foo(X::Y)"
-    test_single_component "foo(X::Y, A::B)"
-    test_single_component "foo(std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >)"
-    test_single_component "operator>(X::Y)"
+
+    foreach spc [list "" " " "  "] {
+       test_single_component "operator${spc}<<"
+       test_single_component "operator${spc}>>"
+       test_single_component "operator${spc}->"
+       test_single_component "operator${spc}()"
+       test_single_component "operator${spc}>"
+       test_single_component "operator${spc}<"
+
+       test_single_component "foo${spc}()"
+       test_single_component "foo${spc}(int)"
+       test_single_component "foo${spc}(X::Y)"
+       test_single_component "foo${spc}(X::Y, A::B)"
+       test_single_component "foo${spc}(std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >)"
+       test_single_component "operator>${spc}(X::Y)"
+    }
 
     # Operator names can show up in weird places.