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]

[PATCH,testsuite] fix spurious FAILs in float printing tests on mingw32 hosts


For compatibility reasons, mingw32's printf routine prints leading zeros
on floating-point exponents.  Because of this, several GDB tests fail
since they do not expect leading zeros.  Since these tests are testing
something other than the conformance of the C library, it seems
reasonable to be lax and permit leading zeros.

Tested with cross to powerpc-linux-gnu on a mingw32 host.  OK to commit?

-Nathan

2009-11-11  Nathan Froyd  <froydnj@codesourcery.com>

	* gdb.base/long_long.exp: Permit leading zeros on floating-point
	exponents.
	* gdb.base/pointers.exp: Likewise.
	* gdb.cp/ref-types.exp: Likewise.

cvs diff: Diffing gdb.base
Index: gdb.base/long_long.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/long_long.exp,v
retrieving revision 1.28
diff -u -u -r1.28 long_long.exp
--- gdb.base/long_long.exp	7 Jul 2009 21:33:50 -0000	1.28
+++ gdb.base/long_long.exp	11 Nov 2009 19:14:48 -0000
@@ -228,7 +228,7 @@
 gdb_test_int "p/o *(int *)i" "" "0443" "0110642547" ""
 gdb_test_int "p/t *(int *)i" "" "100100011" "1001000110100010101100111" ""
 gdb_test_int "p/a *(int *)i" "" "" "0x1234567" ""
-gdb_test_int "p/f *(int *)i" "" "291" "2.99881655e-38" ""
+gdb_test_int "p/f *(int *)i" "" "291" "2.99881655e-0?38" ""
 gdb_test_int "p/c *(int *)i" "" "35 '.'" "103 'g'" ""
 
 gdb_test_long "p/x *(long *)l" "" "0x123" "0x1234567" "0x123456789abcdef"
@@ -237,7 +237,7 @@
 gdb_test_long "p/o *(long *)l" "" "0443" "0110642547" "04432126361152746757"
 gdb_test_long "p/t *(long *)l" "" "100100011" "1001000110100010101100111" "100100011010001010110011110001001101010111100110111101111"
 gdb_test_ptr "p/a *(long *)l" "" "" "0x1234567" "0x123456789abcdef"
-gdb_test_long "p/f *(long *)l" "" "291" "2.99881655e-38" "3.5127005640885037e-303"
+gdb_test_long "p/f *(long *)l" "" "291" "2.99881655e-0?38" "3.5127005640885037e-303"
 gdb_test_long "p/c *(long *)l" "" "35 '.'" "103 'g'" "-17 '.*'"
 
 gdb_test_long_long "p/x *(long long *)ll" "" "" "" "0x123456789abcdef"
@@ -308,7 +308,7 @@
 gdb_test "x/2wt w" "00000001001000110100010101100111.*10100111001011101110010100111001"
 gdb_test_ptr "x/2wa w" "" ""  "0x1234567.*0xa72ee539" "0x1234567.*0xffffffffa72ee539"
 gdb_test "x/2wc w" "103 'g'.*57 '9'"
-gdb_test "x/2wf w" "2.99881655e-38.*-2.42716126e-15"
+gdb_test "x/2wf w" "2.99881655e-0?38.*-2.42716126e-0?15"
 
 gdb_test "x/2gx g" "0x0123456789abcdef.*0xa72ee53977053977"
 gdb_test "x/2gd g" "81985529216486895.*-6399925985474168457"
Index: gdb.base/pointers.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/pointers.exp,v
retrieving revision 1.16
diff -u -u -r1.16 pointers.exp
--- gdb.base/pointers.exp	7 Jul 2009 21:33:50 -0000	1.16
+++ gdb.base/pointers.exp	11 Nov 2009 19:14:48 -0000
@@ -512,7 +512,7 @@
 
 send_gdb "print *pF\n"
 gdb_expect {
-    -re ".\[0-9\]* = 1.2\[0-9\]*e\\+10.*$gdb_prompt $" {
+    -re ".\[0-9\]* = 1.2\[0-9\]*e\\+0?10.*$gdb_prompt $" {
         pass "print value of *pF"
       }
     -re ".*$gdb_prompt $" { fail "print value of *pF" }
@@ -529,7 +529,7 @@
 
 send_gdb "print *pD\n"
 gdb_expect {
-    -re ".\[0-9\]* = -1.2\[0-9\]*e\\-37.*$gdb_prompt $" {
+    -re ".\[0-9\]* = -1.2\[0-9\]*e\\-0?37.*$gdb_prompt $" {
         pass "print value of *pD"
       }
     -re ".*$gdb_prompt $" { fail "print value of *pD" }
cvs diff: Diffing gdb.cp
Index: gdb.cp/ref-types.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/ref-types.exp,v
retrieving revision 1.10
diff -u -u -r1.10 ref-types.exp
--- gdb.cp/ref-types.exp	7 Jul 2009 21:33:50 -0000	1.10
+++ gdb.cp/ref-types.exp	11 Nov 2009 19:14:48 -0000
@@ -412,7 +412,7 @@
 
 send_gdb "print F\n"
 gdb_expect {
-    -re ".\[0-9\]* = 1.2\[0-9\]*e\\+10.*$gdb_prompt $" {
+    -re ".\[0-9\]* = 1.2\[0-9\]*e\\+0?10.*$gdb_prompt $" {
         pass "print value of F"
       }
     -re ".*$gdb_prompt $" { fail "print value of F" }
@@ -640,7 +640,7 @@
 
 send_gdb "print rF\n"
 gdb_expect {
-    -re ".\[0-9\]* = \\(float &\\) @$hex: 1.2\[0-9\]*e\\+10.*$gdb_prompt $" {
+    -re ".\[0-9\]* = \\(float &\\) @$hex: 1.2\[0-9\]*e\\+0?10.*$gdb_prompt $" {
         pass "print value of rF"
       }
     -re ".*$gdb_prompt $" { fail "print value of rF" }


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