]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[gdb/testsuite] Fix gdb.arch/riscv-tdesc-regs.exp
authorTom de Vries <tdevries@suse.de>
Wed, 4 Sep 2024 13:37:28 +0000 (15:37 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 4 Sep 2024 13:37:28 +0000 (15:37 +0200)
commitbe3a561eca45104075abfe0fb4251be2b1985c8a
treeafb2e3de539930160b34c3be9ea5b516f8484f1e
parent31ed3a9d691493486f6e32357d89a55229dbdc0a
[gdb/testsuite] Fix gdb.arch/riscv-tdesc-regs.exp

On riscv64-linux, with test-case gdb.arch/riscv-tdesc-regs.exp I get:
...
(gdb) info registers fflags^M
fflags         0x0      NV:0 DZ:0 OF:0 UF:0 NX:0^M
(gdb) FAIL: gdb.arch/riscv-tdesc-regs.exp: info registers fflags
info registers frm^M
frm            0x0      FRM:0 [RNE (round to nearest; ties to even)]^M
(gdb) FAIL: gdb.arch/riscv-tdesc-regs.exp: info registers frm
...

The FAILs are produced by:
...
foreach reg {fflags frm} {
    gdb_test_multiple "info registers $reg" "" {
        -re "^info registers $reg\r\n" {
            exp_continue
        }

        -wrap -re "^Invalid register `$reg`" {
            fail $gdb_test_name
        }

        -wrap -re "^$reg\\s+\[^\r\n\]+" {
            pass $gdb_test_name
}
    }
}
...

The first clause is meant to consume the command.

The '^' char was updated to mean "consume command", so that clause no longer
works since it now attempts to consume the command twice.

Also, it's unnecessary because the following clauses start with ^.

Then, the second clause is unnecessary because there's a default clause
producing the FAIL.

Fix this by simplifying to:
...
foreach reg {fflags frm} {
    gdb_test "info registers $reg" "^$reg\\s+\[^\r\n\]+"
}
...

Tested on riscv64-linux.

Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp