[3/3] Fix 'FAIL: gdb.perf/disassemble.exp: python Disassemble().run()'

Message ID 20210706114323.4177388-4-pedro@palves.net
State New
Headers show
Series
  • Fix remainder of "make check-perf" bit rot
Related show

Commit Message

Pedro Alves July 6, 2021, 11:43 a.m.
We currently have one FAIL while running "make check-perf":

  PerfTest::assemble, run ...
  python Disassemble().run()
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/home/pedro/rocm/gdb/src/gdb/testsuite/gdb.perf/lib/perftest/perftest.py", line 64, in run
      self.warm_up()
    File "<string>", line 25, in warm_up
  gdb.error: No symbol "ada_evaluate_subexp" in current context.
  Error while executing Python code.
  (gdb) FAIL: gdb.perf/disassemble.exp: python Disassemble().run()
  ...

The gdb.perf/disassemble.exp testcase debugs GDB with itself, runs to
main, and then disassembles a few GDB functions.  The problem is that
most(!) functions it is trying to disassemble are now gone...

This commit fixes the issue by simply picking some other functions to
disassemble.

It would perhaps be better to come up with some test program to
disassemble, one that would stay the same throughout the years,
instead of disassembling GDB itself.  I don't know why that wasn't
done to begin with.  I'll have to leave that for another rainy day,
though.

gdb/testsuite/
yyyy-mm-dd  Pedro Alves  <pedro@palves.net>

	* gdb.perf/disassemble.py (Disassemble::warm_up): Disassemble
	evaluate_subexp_do_call instead of ada_evaluate_subexp.
	(Disassemble::warm_up): Disassemble "captured_main",
	"run_inferior_call" and "update_global_location_list" instead of
	"evaluate_subexp_standard" and "c_parse_internal".

Change-Id: I89d1cca89ce2e495dea5096e439685739cc0d3df
---
 gdb/testsuite/gdb.perf/disassemble.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

-- 
2.26.2

Patch

diff --git a/gdb/testsuite/gdb.perf/disassemble.py b/gdb/testsuite/gdb.perf/disassemble.py
index 89634912fba..bbb2a16fda1 100644
--- a/gdb/testsuite/gdb.perf/disassemble.py
+++ b/gdb/testsuite/gdb.perf/disassemble.py
@@ -21,14 +21,15 @@  class Disassemble(perftest.TestCaseWithBasicMeasurements):
         super(Disassemble, self).__init__("disassemble")
 
     def warm_up(self):
-        do_test_command = "disassemble ada_evaluate_subexp"
+        do_test_command = "disassemble evaluate_subexp_do_call"
         gdb.execute(do_test_command, False, True)
 
     def _do_test(self, c):
         for func in [
-            "evaluate_subexp_standard",
+            "captured_main",
             "handle_inferior_event",
-            "c_parse_internal",
+            "run_inferior_call",
+            "update_global_location_list",
         ]:
             do_test_command = "disassemble %s" % func
             for _ in range(c + 1):