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: small test suite cleanup


  After some discussion with Tom on IRC,
I came up with this proposal:

I changed   get_valueof proc to accept
anything as a return value and
added a new get_integer_valueof proc
that has no format parameter and
uses "print /d $exp".

gdb/testsuite/ChangeLog entry:


2009-02-13  Pierre Muller  <muller@ics.u-strasbg.fr>

	* lib/gdb.exp (get_valueof): Accept anything as a return value.
	(get_integer_valueof): New procedure.
	(get_sizeof): Use new get_integer_value_of.
	* gdb.base/sizeof.exp: Replace all uses of get_valueof
	by get_integer_valueof.


Index: lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.110
diff -u -p -r1.110 gdb.exp
--- lib/gdb.exp 13 Feb 2009 16:13:47 -0000      1.110
+++ lib/gdb.exp 13 Feb 2009 22:45:59 -0000
@@ -2885,19 +2885,36 @@ proc get_valueof { fmt exp default } {
     set test "get valueof \"${exp}\""
     set val ${default}
     gdb_test_multiple "print${fmt} ${exp}" "$test" {
+       -re "\\$\[0-9\]* = (.*)\[\r\n\]*$gdb_prompt $" {
+           set val $expect_out(1,string)
+           pass "$test ($val)"
+       }
+       timeout {
+           fail "get value of ${exp} (timeout)"
+       }
+    }
+    return ${val}
+}
+
+proc get_integer_valueof { exp default } {
+    global gdb_prompt
+
+    set test "get integer valueof \"${exp}\""
+    set val ${default}
+    gdb_test_multiple "print /d ${exp}" "$test" {
        -re "\\$\[0-9\]* = (\[-\]*\[0-9\]*).*$gdb_prompt $" {
            set val $expect_out(1,string)
            pass "$test ($val)"
        }
        timeout {
-           set size ${default}
            fail "get value of ${exp} (timeout)"
        }
     }
     return ${val}
 }

+
 proc get_sizeof { type default } {
-    return [get_valueof "/d" "sizeof (${type})" $default]
+    return [get_integer_valueof "sizeof (${type})" $default]
 }

Index: gdb.base/sizeof.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/sizeof.exp,v
retrieving revision 1.14
diff -u -p -r1.14 sizeof.exp
--- gdb.base/sizeof.exp 13 Feb 2009 16:13:47 -0000      1.14
+++ gdb.base/sizeof.exp 13 Feb 2009 22:45:59 -0000
@@ -109,10 +109,10 @@ proc check_valueof { exp val } {

 # Check that GDB and the target agree over the sign of a character.

-set signof_byte [get_valueof "/d" "'\\377'" -1]
-set signof_char [get_valueof "/d" "(int) (char) -1" -1]
-set signof_signed_char [get_valueof "/d" "(int) (signed char) -1" -1]
-set signof_unsigned_char [get_valueof "/d" "(int) (unsigned char) -1" -1]
+set signof_byte [get_integer_valueof "'\\377'" -1]
+set signof_char [get_integer_valueof "(int) (char) -1" -1]
+set signof_signed_char [get_integer_valueof "(int) (signed char) -1" -1]
+set signof_unsigned_char [get_integer_valueof "(int) (unsigned char) -1"
-1]

 check_valueof "'\\377'" ${signof_byte}
 check_valueof "(int) (char) -1" ${signof_char}

 



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