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 Wed, 01 Sep 2010 00:51:25 +0200, Doug Evans wrote:
> This is ok with me, but I think you also want to similarly patch
> gdb.{objc,pascal}/print.exp, right?

Yes.

Tested on fedora14snapshot.x86_64 (PASS) and epel-4.x86_64 (XFAIL).

I will check it in later if not replied.


Thanks,
Jan


gdb/testsuite/
2010-09-02  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.
	* gdb.objc/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.
	* gdb.pascal/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"
--- a/gdb/testsuite/gdb.objc/print.exp
+++ b/gdb/testsuite/gdb.objc/print.exp
@@ -28,6 +28,8 @@ if $tracelevel {
 load_lib "objc.exp"
 
 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"
 
@@ -42,12 +44,21 @@ proc test_float_accepted {} {
     gdb_test "p 1.l" " = 1"
     setup_kfail gdb/11925 "*-*-*"
     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 {} {
-    # 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"
--- a/gdb/testsuite/gdb.pascal/print.exp
+++ b/gdb/testsuite/gdb.pascal/print.exp
@@ -28,6 +28,8 @@ if $tracelevel {
 load_lib "pascal.exp"
 
 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"
 
@@ -38,12 +40,21 @@ 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 {} {
-    # 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]