This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix new FAIL `reject p 0x1.1' [fixup]


On Mon, 23 Aug 2010 21:57:19 +0200, Doug Evans wrote:
> On Mon, Aug 23, 2010 at 12:49 PM, Doug Evans <dje@google.com> wrote:
> >> While thanks for catching it I still believe now my testcase update is the
> >> appropriate fix - if glibc supports then extended input syntax let the GDB
> >> user benefit from it.
> >
> > It's ok with me.
> 
> I should add that IWBN to have an additional testcase that exercises
> sscanf (...) == 0 on newer glibcs.

OK, I forgot first.  OK to check-in?  Tested both cases (RHEL-4.8 and
Fedora14snapshot).


Thanks,
Jan


gdb/testsuite/
2010-08-31  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.base/printcmds.exp (test_float_accepted): Import gdb_prompt.
	Move here, negate and extend by XFAIL the "p 0x1.1" test from ...
	(test_float_rejected): ... here.
	* gdb.java/jv-print.exp (test_float_accepted): Import gdb_prompt.
	Move here, negate and extend by XFAIL the "p 0x1.1" test from ...
	(test_float_rejected): ... here.

--- a/gdb/testsuite/gdb.base/printcmds.exp
+++ b/gdb/testsuite/gdb.base/printcmds.exp
@@ -119,6 +119,8 @@ proc test_integer_literals_rejected {} {
 }
 
 proc test_float_accepted {} {
+    global gdb_prompt
+
     # This test is useful to catch successful parsing of the first fp value.
     gdb_test "p 123.4+56.7" " = 180.(099\[0-9]*|100\[0-9\]*)" "check for floating addition"
 
@@ -129,6 +131,18 @@ proc test_float_accepted {} {
     gdb_test "p 1.5f" " = 1.5"
     gdb_test "p 1.l" " = 1"
     gdb_test "p 1.5l" " = 1.5"
+
+    # Test hexadecimal floating point.
+    set test "p 0x1.1"
+    gdb_test_multiple $test $test {
+	-re " = 1\\.0625\r\n$gdb_prompt $" {
+	    pass $test
+	}
+	-re "Invalid number \"0x1\\.1\"\\.\r\n$gdb_prompt $" {
+	    # Older glibc does not support hex float, newer does.
+	    xfail $test
+	}
+    }
 }
 
 proc test_float_rejected {} {
@@ -140,7 +154,6 @@ proc test_float_rejected {} {
 
     test_print_reject "p 123foobar.bazfoo3"
     test_print_reject "p 123EEEEEEEEEEEEEEEEE33333k333"
-    test_print_reject "p 0x1.1"
 
     # Test bad suffixes.
     test_print_reject "p 1.1x"
--- a/gdb/testsuite/gdb.java/jv-print.exp
+++ b/gdb/testsuite/gdb.java/jv-print.exp
@@ -98,6 +98,8 @@ proc test_integer_literals_rejected {} {
 }
 
 proc test_float_accepted {} {
+    global gdb_prompt
+
     # Test parsing of fp value with legit text following.
     gdb_test "p 1234.5+1" " = 1235.5" "check fp + text"
 
@@ -108,12 +110,21 @@ proc test_float_accepted {} {
     gdb_test "p 1.5f" " = 1.5"
     gdb_test "p 1.d" " = 1"
     gdb_test "p 1.5d" " = 1.5"
+
+    # Test hexadecimal floating point.
+    set test "p 0x1.1"
+    gdb_test_multiple $test $test {
+	-re " = 1\\.0625\r\n$gdb_prompt $" {
+	    pass $test
+	}
+	-re "Invalid number \"0x1\\.1\"\r\n$gdb_prompt $" {
+	    # Older glibc does not support hex float, newer does.
+	    xfail $test
+	}
+    }
 }
 
 proc test_float_rejected {} {
-    # Test invalid fp values.
-    test_print_reject "p 0x1.1"
-
     # Test bad suffixes.
     test_print_reject "p 1.1x"
     test_print_reject "p 1.1ff"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]