Fix unstable test names in gdb.python/py-objfile.exp
authorPedro Alves <palves@redhat.com>
Tue, 24 Oct 2017 09:43:34 +0000 (10:43 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 24 Oct 2017 09:53:29 +0000 (10:53 +0100)
Currently, if you diff testsuite/gdb.sum of different builds you see
this spurious hunk:

  -PASS: gdb.python/py-objfile.exp: get python valueof "sep_objfile.build_id" (6a0bfcab663f9810ccff33c756afdebb940037d4)
  +PASS: gdb.python/py-objfile.exp: get python valueof "sep_objfile.build_id" (1f5531c657c57777b05fc95baa0025fd1d115c3b)

Fix this by syncing get_python_valueof with get_integer_valueof, which
stopped outputting the value in commit 2f20e312aad6
("get_integer_valueof: Don't output value in test name").

After this commit we'll show:

  PASS: gdb.python/py-objfile.exp: get python valueof "sep_objfile.build_id"

As the comment explicitly says get_python_valueof is modeled on
get_integer_valueof, I went ahead and also added the optional 'test'
parameter while at it.

gdb/testsuite/ChangeLog:
2017-10-24  Pedro Alves  <palves@redhat.com>

* lib/gdb-python.exp (get_python_valueof): Add 'test' optional
parameter and handle it.  Don't output read value in test name.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb-python.exp

index 31a217299253e2284ffb511f4e8acd575cc16c27..c0a14173eec21964cc43a12ae11acd3136c2b9ee 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-24  Pedro Alves  <palves@redhat.com>
+
+       * lib/gdb-python.exp (get_python_valueof): Add 'test' optional
+       parameter and handle it.  Don't output read value in test name.
+
 2017-10-24  Pedro Alves  <palves@redhat.com>
 
        * gdb.gdb/unittest.exp ('maintenance check xml-descriptions'): Use
index 1fef27ed67fd7e5ffc162933accf135af59efa5c..c0c0d682592b2462ff3c3edde813a5f896ab0fef 100644 (file)
@@ -46,19 +46,23 @@ proc gdb_py_test_multiple { name args } {
     return 0
 }
 
-# Return the result of python expression EXPR.
-# DEFAULT is returned if there's an error.
-# This is modelled after get_integer_valueof.
+# Return the result of python expression EXPR.  DEFAULT is returned if
+# there's an error.  TEST is the test message to use.  It can be
+# omitted, in which case a test message is built from EXP.  This is
+# modeled after get_integer_valueof.
 
-proc get_python_valueof { exp default } {
+proc get_python_valueof { exp default {test ""} } {
     global gdb_prompt
 
-    set test "get python valueof \"${exp}\""
+    if {$test == ""} {
+       set test "get python valueof \"${exp}\""
+    }
+
     set val ${default}
     gdb_test_multiple "python print (\"valueof: %s\" % (${exp}))" "$test" {
        -re "valueof: (\[^\r\n\]*)\[\r\n\]*$gdb_prompt $" {
            set val $expect_out(1,string)
-           pass "$test ($val)"
+           pass "$test"
        }
        timeout {
            fail "$test (timeout)"
This page took 0.032835 seconds and 4 git commands to generate.