From 470e2f4e300e5f84b1c35070df43d69b501e0b91 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Tue, 18 Nov 2014 11:16:37 -0200 Subject: [PATCH] I caught a few mingw32-specific failures for some of the gdb.reverse tests. FAIL: gdb.reverse/consecutive-precsave.exp: reload precord save file FAIL: gdb.reverse/finish-precsave.exp: reload precord save file FAIL: gdb.reverse/until-precsave.exp: reload core file FAIL: gdb.reverse/watch-precsave.exp: reload core file FAIL: gdb.reverse/step-precsave.exp: reload core file FAIL: gdb.reverse/break-precsave.exp: reload precord save file FAIL: gdb.reverse/sigall-precsave.exp: reload precord save file They happen for two reasons. - mingw32 does not define SIGTRAP, so upon recording a core file, the signal information will be missing, which in turn causes GDB to not display the stopping signal when it loads the same core file. An earlier message warns about this: "warning: Signal SIGTRAP does not exist on this system." - The testcase is crafted in a way that expects a pattern of the stopping signal message instead of a successful core file read message. The following patch fixes this by changing the old pattern to a more reasonable one, while still ignoring the fact that mingw32-based GDB does not record a SIGTRAP in a core file because it does not define it. gdb/testsuite/ 2014-11-18 Luis Machado * gdb.reverse/break-precsave: Expect completion message for core file reads. * gdb.reverse/consecutive-precsave.exp: Likewise. * gdb.reverse/finish-precsave.exp: Likewise. * gdb.reverse/i386-precsave.exp: Likewise. * gdb.reverse/machinestate-precsave.exp: Likewise. * gdb.reverse/sigall-precsave.exp: Likewise. * gdb.reverse/solib-precsave.exp: Likewise. * gdb.reverse/step-precsave.exp: Likewise. * gdb.reverse/until-precsave.exp: Likewise. * gdb.reverse/watch-precsave.exp: Likewise. --- gdb/testsuite/ChangeLog | 14 ++++++++++++++ gdb/testsuite/gdb.reverse/break-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/finish-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/i386-precsave.exp | 2 +- .../gdb.reverse/machinestate-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/sigall-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/solib-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/watch-precsave.exp | 2 +- 11 files changed, 24 insertions(+), 10 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 0bd36fcd98..ba35db1846 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2014-11-18 Luis Machado + + * gdb.reverse/break-precsave: Expect completion message for + core file reads. + * gdb.reverse/consecutive-precsave.exp: Likewise. + * gdb.reverse/finish-precsave.exp: Likewise. + * gdb.reverse/i386-precsave.exp: Likewise. + * gdb.reverse/machinestate-precsave.exp: Likewise. + * gdb.reverse/sigall-precsave.exp: Likewise. + * gdb.reverse/solib-precsave.exp: Likewise. + * gdb.reverse/step-precsave.exp: Likewise. + * gdb.reverse/until-precsave.exp: Likewise. + * gdb.reverse/watch-precsave.exp: Likewise. + 2014-11-17 Andreas Arnez * gdb.base/bp-permanent.c: Include unistd.h. diff --git a/gdb/testsuite/gdb.reverse/break-precsave.exp b/gdb/testsuite/gdb.reverse/break-precsave.exp index f77054c0af..21c2ed2930 100644 --- a/gdb/testsuite/gdb.reverse/break-precsave.exp +++ b/gdb/testsuite/gdb.reverse/break-precsave.exp @@ -58,7 +58,7 @@ proc precsave_tests {} { "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload precord save file" gdb_test "break foo" \ diff --git a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp index 43e9d7760c..68c05d5f8d 100644 --- a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp +++ b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp @@ -50,7 +50,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload precord save file" gdb_breakpoint foo diff --git a/gdb/testsuite/gdb.reverse/finish-precsave.exp b/gdb/testsuite/gdb.reverse/finish-precsave.exp index 22c32e4363..a10385529c 100644 --- a/gdb/testsuite/gdb.reverse/finish-precsave.exp +++ b/gdb/testsuite/gdb.reverse/finish-precsave.exp @@ -51,7 +51,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload precord save file" # Test finish from void func diff --git a/gdb/testsuite/gdb.reverse/i386-precsave.exp b/gdb/testsuite/gdb.reverse/i386-precsave.exp index 8b713fd4e4..41c6bebddd 100644 --- a/gdb/testsuite/gdb.reverse/i386-precsave.exp +++ b/gdb/testsuite/gdb.reverse/i386-precsave.exp @@ -68,7 +68,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload precord save file" gdb_test "step" "inc .eax.*" "step to inc eax 1st time" diff --git a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp index 3b62dc91a7..b726bc3a80 100644 --- a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp +++ b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp @@ -76,7 +76,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload prec save file" # Proceed to end of main diff --git a/gdb/testsuite/gdb.reverse/sigall-precsave.exp b/gdb/testsuite/gdb.reverse/sigall-precsave.exp index e7ade6e637..b04223c613 100644 --- a/gdb/testsuite/gdb.reverse/sigall-precsave.exp +++ b/gdb/testsuite/gdb.reverse/sigall-precsave.exp @@ -278,7 +278,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload precord save file" # Signal handlers must be re-enabled diff --git a/gdb/testsuite/gdb.reverse/solib-precsave.exp b/gdb/testsuite/gdb.reverse/solib-precsave.exp index f8f78a5d1d..62189641da 100644 --- a/gdb/testsuite/gdb.reverse/solib-precsave.exp +++ b/gdb/testsuite/gdb.reverse/solib-precsave.exp @@ -101,7 +101,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload core file" # diff --git a/gdb/testsuite/gdb.reverse/step-precsave.exp b/gdb/testsuite/gdb.reverse/step-precsave.exp index 6f52e58fa3..3b0e356720 100644 --- a/gdb/testsuite/gdb.reverse/step-precsave.exp +++ b/gdb/testsuite/gdb.reverse/step-precsave.exp @@ -54,7 +54,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload core file" # plain vanilla step/next (no count) diff --git a/gdb/testsuite/gdb.reverse/until-precsave.exp b/gdb/testsuite/gdb.reverse/until-precsave.exp index b8a74aeb25..50e8252276 100644 --- a/gdb/testsuite/gdb.reverse/until-precsave.exp +++ b/gdb/testsuite/gdb.reverse/until-precsave.exp @@ -70,7 +70,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload core file" # Verify that plain vanilla "until " works. diff --git a/gdb/testsuite/gdb.reverse/watch-precsave.exp b/gdb/testsuite/gdb.reverse/watch-precsave.exp index 5fe1296de3..d33d7ea462 100644 --- a/gdb/testsuite/gdb.reverse/watch-precsave.exp +++ b/gdb/testsuite/gdb.reverse/watch-precsave.exp @@ -51,7 +51,7 @@ gdb_test "kill" "" "Kill process, prepare to debug log file" \ "Kill the program being debugged\\? \\(y or n\\) " "y" gdb_test "record restore $precsave" \ - "Program terminated with signal .*" \ + "Restored records from core file .*" \ "reload core file" # Only software watchpoints can be used in reverse -- 2.34.1