Get rid of "No such file or directory" in the testsuite's btrace support detection.
authorPedro Alves <palves@redhat.com>
Tue, 26 Mar 2013 18:26:05 +0000 (18:26 +0000)
committerPedro Alves <palves@redhat.com>
Tue, 26 Mar 2013 18:26:05 +0000 (18:26 +0000)
commit4043f22ba52bfe6a7175a9b5ff7166c1bd4724cc
tree8d7ebda2a570d63561de6a9386e8f7878c4ac65a
parent42c634cb8c33bccb4d3e82fe6ddec963f7138579
Get rid of "No such file or directory" in the testsuite's btrace support detection.

When I tried running the btrace tests, I noticed something odd in the gdb.log file:

 (gdb) run
 Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.btrace/btrace22343.x
 Breakpoint 1, main () at /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.btrace/btrace22343.c:1
 1       /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.btrace/btrace22343.c: No such file or directory.
                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^
 (gdb) record btrace
 Target does not support branch tracing.
 (gdb) testcase ../../../src/gdb/testsuite/gdb.btrace/enable.exp completed in 0 seconds

I knew that the btrace tests on my machine weren't supposed to work,
but still, that error made me wonder if the test had something broken,
and waste a few minutes looking up where that is coming from.

The issue is that the btrace detection deletes the source file right
after compiling it, and before GDB has a chance to open it.  It's
really harmless, but I'd rather spare others from going through the
same exercise.

We now get the regular:

 (gdb) run
 Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.btrace/btrace24210.x
 ...
 Breakpoint 1, main () at /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.btrace/btrace24210.c:1
 1       int main(void) { return 0; }
 ...

gdb/testsuite/
2013-03-26  Pedro Alves  <palves@redhat.com>

* lib/gdb.exp (skip_btrace_tests): Delay deleting the source file
until after GDB has run.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp