gdb/testsuite: Remove duplicates from gdb.base/interp.exp
authorLancelot SIX <lsix@lancelotsix.com>
Fri, 19 Nov 2021 19:55:05 +0000 (19:55 +0000)
committerLancelot SIX <lsix@lancelotsix.com>
Fri, 7 Jan 2022 22:43:32 +0000 (22:43 +0000)
When running the testsuite I have:

    Running .../gdb/testsuite/gdb.base/interp.exp ...
    DUPLICATE: gdb.base/interp.exp: interpreter-exec mi "-var-update *"

This is due to the fact that multiple successive instances of
gdb_test_multiple use 'pass $cmd', but one of them forgets to reset $cmd
to a new test name.

Fix by using 'pass $gdb_test_name', given that the gdb_test_name is set
by gdb_test_multiple.

While fixing this, this patch refactors all occurrences of the following
pattern:

    set cmd foo
    gdb_test_multiple $cmd $cmd {
        -re ... {
            pass $cmd
        }
    }

into

    gdb_test_multiple foo "" {
        -re ... {
            pass $gdb_test_name
         }
    }

This makes this test file coherent in its use of $gdb_test_name.

Tested on x86_64-linux.

gdb/testsuite/gdb.base/interp.exp

index 9e366571acba330037f920cc3efa3c07404cf024..f748ffd805075294e68ec6e0dad77e227ceb41d2 100644 (file)
@@ -22,10 +22,9 @@ if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile {debug}] } {
 }
 
 # Do not use gdb_test for this test, since it has two prompts.
-set cmd "interpreter-exec mi \"-var-update *\""
-gdb_test_multiple $cmd $cmd {
+gdb_test_multiple "interpreter-exec mi \"-var-update *\"" "" {
     -re "\\^done,changelist=\\\[\\\]\r\n$gdb_prompt " {
-       pass "$cmd"
+       pass $gdb_test_name
        gdb_expect 1 {
            -re "\r\n$gdb_prompt $" { }
        }
@@ -37,47 +36,43 @@ gdb_test "interpreter-exec console \"show version\"" "GNU gdb .*"
 gdb_test_multiple "interpreter-exec mi \"-break-insert --thread a\"" \
     "regression test for mi_parse crash" {
        -re ".error,msg=.Invalid value for the '--thread' option.\r\n$gdb_prompt " {
-           pass "$cmd"
+           pass $gdb_test_name
            gdb_expect 1 {
                -re "\r\n$gdb_prompt $" { }
            }
        }
     }
 
-set cmd "interpreter-exec mi \"-stack-info-frame\""
-gdb_test_multiple $cmd $cmd {
+gdb_test_multiple "interpreter-exec mi \"-stack-info-frame\"" "" {
     -re ".error,msg=.No registers\..\r\n$gdb_prompt " {
-       pass "$cmd"
+       pass $gdb_test_name
        gdb_expect 1 {
            -re "\r\n$gdb_prompt $" { }
        }
     }
 }
 
-set cmd "interpreter-exec mi1 \"-break-insert main\""
-gdb_test_multiple $cmd $cmd {
+gdb_test_multiple "interpreter-exec mi1 \"-break-insert main\"" "" {
     -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " {
-       pass "$cmd"
+       pass $gdb_test_name
        gdb_expect 1 {
            -re "\r\n$gdb_prompt $" { }
        }
     }
 }
 
-set cmd "interpreter-exec mi2 \"-break-insert main\""
-gdb_test_multiple $cmd $cmd {
+gdb_test_multiple "interpreter-exec mi2 \"-break-insert main\"" "" {
     -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " {
-       pass "$cmd"
+       pass $gdb_test_name
        gdb_expect 1 {
            -re "\r\n$gdb_prompt $" { }
        }
     }
 }
 
-set cmd "interpreter-exec mi3 \"-break-insert main\""
-gdb_test_multiple $cmd $cmd {
+gdb_test_multiple "interpreter-exec mi3 \"-break-insert main\"" "" {
     -re ".done.bkpt=.number=.\[0-9\]\[^\n\]+\r\n$gdb_prompt " {
-       pass "$cmd"
+       pass $gdb_test_name
        gdb_expect 1 {
            -re "\r\n$gdb_prompt $" { }
        }