From d8c8b84859d057c58c901c08367ecc9f8a9f09dc Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 19 Mar 2020 08:44:04 +0100 Subject: [gdb/testsuite] Fix gdb.opt/inline-locals.exp KFAILs When running test-case gdb.opt/inline-locals.exp, I get: ... Running src/gdb/testsuite/gdb.opt/inline-locals.exp ... KPASS: gdb.opt/inline-locals.exp: info locals above bar 2 (PRMS gdb/xyz) KPASS: gdb.opt/inline-locals.exp: info locals above bar 3 (PRMS gdb/xyz) ... I've opened PR25695 - 'abstract and concrete variable listed both with "info locals"' to refer to in the PRMS field, and this patch adds that reference. Furthermore, I noticed that while I see KPASSes, given the problem description the tests should actually be KFAILs. This patch also fixes that. Tested on x86_64-linux. With gcc 7.5.0, I get 2 KFAILs. With clang 5.0.2, the tests pass. gdb/testsuite/ChangeLog: 2020-03-19 Tom de Vries * gdb.opt/inline-locals.exp: Add kfail PR number. Make kfail matching more precise. --- gdb/testsuite/gdb.opt/inline-locals.exp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'gdb/testsuite/gdb.opt') diff --git a/gdb/testsuite/gdb.opt/inline-locals.exp b/gdb/testsuite/gdb.opt/inline-locals.exp index 5871251..3dee0aa 100644 --- a/gdb/testsuite/gdb.opt/inline-locals.exp +++ b/gdb/testsuite/gdb.opt/inline-locals.exp @@ -43,8 +43,17 @@ if { ! $no_frames } { "backtrace from bar 2" gdb_test "up" "#1 .*func1 .* at .*" "up from bar 2" gdb_test "info frame" ".*inlined into frame.*" "func1 inlined 2" - setup_kfail "gdb/xyz" *-*-* - gdb_test "info locals" "array = {.*}" "info locals above bar 2" + set pass_re "array = {$decimal, \[^\r\n\]*}" + set kfail_re [multi_line $pass_re \ + "array = { }"] + gdb_test_multiple "info locals" "info locals above bar 2" { + -re -wrap $pass_re { + pass $gdb_test_name + } + -re -wrap $kfail_re { + kfail gdb/25695 $gdb_test_name + } + } set msg "info args above bar 2" gdb_test_multiple "info args" $msg { @@ -83,8 +92,17 @@ if { ! $no_frames } { "backtrace from bar 3" gdb_test "up" "#1 .*func1 .* at .*" "up from bar 3" gdb_test "info frame" ".*inlined into frame.*" "func1 inlined 3" - setup_kfail "gdb/xyz" *-*-* - gdb_test "info locals" "array = {.*}" "info locals above bar 3" + set pass_re "array = {$decimal, \[^\r\n\]*}" + set kfail_re [multi_line $pass_re \ + "array = { }"] + gdb_test_multiple "info locals" "info locals above bar 2" { + -re -wrap $pass_re { + pass $gdb_test_name + } + -re -wrap $kfail_re { + kfail gdb/25695 $gdb_test_name + } + } set msg "info args above bar 3" gdb_test_multiple "info args" $msg { -- cgit v1.1