This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[patch] Get rid of print statements from gdb.cp/exception.cc
- From: Yao Qi <yao at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 27 Jun 2011 22:12:48 +0800
- Subject: [patch] Get rid of print statements from gdb.cp/exception.cc
Current test gdb.cp/exception.exp matches the output from inferior,
which doesn't work in remote testing, because gdbserver can't catch
target program's output, and push it to gdb. There is one fail when
running gdb.cp/exception.exp with board file "native-gdbserver.exp".
FAIL: gdb.cp/exception.exp: continue to second throw
This patch removes print stuffs in gdb.cp/exception.cc. Tested on
i686-pc-linux-gnu. No fails in gdb.cp/exception.exp anymore.
OK for mainline?
--
Yao (éå)
2011-06-27 Yao Qi <yao@codesourcery.com>
gdb/testsuite/
* gdb.cp/exception.cc: Don't include iostream.
(bar): Remove print statement.
(catcher): New.
(main): Remove print statements. Call function catcher.
* gdb.cp/exception.exp : Don't match inferior's output in regexp.
Set breakpoint on catcher, and check the value of parameter.
diff --git a/gdb/testsuite/gdb.cp/exception.cc b/gdb/testsuite/gdb.cp/exception.cc
index 6eb77ab..c366b06 100644
--- a/gdb/testsuite/gdb.cp/exception.cc
+++ b/gdb/testsuite/gdb.cp/exception.cc
@@ -21,7 +21,6 @@
// Test file for exception handling support.
-#include <iostream>
using namespace std;
int foo (int i)
@@ -36,10 +35,14 @@ extern "C" int bar (int k, unsigned long eharg, int flag);
int bar (int k, unsigned long eharg, int flag)
{
- cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl;
return 1;
}
+int catcher (int x)
+{
+ return x;
+}
+
int main()
{
int j;
@@ -48,7 +51,7 @@ int main()
j = foo (20);
}
catch (int x) {
- cout << "Got an except " << x << endl;
+ catcher (x);
}
try {
@@ -56,12 +59,12 @@ int main()
j = foo (20);
}
catch (int x) {
- cout << "Got an except " << x << endl;
+ catcher (x);
throw;
}
}
catch (int y) {
- cout << "Got an except (rethrown) " << y << endl;
+ catcher (y);
}
// Not caught
diff --git a/gdb/testsuite/gdb.cp/exception.exp b/gdb/testsuite/gdb.cp/exception.exp
index 2e49fe8..f71da98 100644
--- a/gdb/testsuite/gdb.cp/exception.exp
+++ b/gdb/testsuite/gdb.cp/exception.exp
@@ -127,6 +127,8 @@ gdb_test_multiple "info breakpoints" $name {
}
}
+gdb_test "break catcher" "Breakpoint \[0-9\]+ at.*"
+
# Get the first exception thrown
set name "continue to first throw"
@@ -173,14 +175,17 @@ gdb_test_multiple "backtrace" $name {
}
}
+# Continue to breakpoint on catcher.
+gdb_test "continue" ".*catcher \\(x=13\\).*" "continue to catcher for the first time"
+
# Continue to second throw.
set name "continue to second throw"
gdb_test_multiple "continue" $name {
- -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
pass $name
}
- -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\).*\r\n$gdb_prompt $" {
+ -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\).*\r\n$gdb_prompt $" {
pass $name
}
}
@@ -217,6 +222,9 @@ gdb_test_multiple "backtrace" $name {
}
}
+# Continue to breakpoint on catcher.
+gdb_test "continue" ".*catcher \\(x=13\\).*" "continue to catcher for the second time"
+
# That is all for now.
#
# The original code had: