From: Pedro Alves <pedro@codesourcery.com>
To: "Sérgio Durigan Júnior" <sergiodj@linux.vnet.ibm.com>
Cc: gdb-patches@sourceware.org, Joel Brobecker <brobecker@adacore.com>
Subject: Make sure catch-syscall.exp doesn't pick up system/installed syscalls xml.
Date: Sun, 22 Nov 2009 23:00:00 -0000 [thread overview]
Message-ID: <200911222259.40063.pedro@codesourcery.com> (raw)
In-Reply-To: <200910060948.04899.pedro@codesourcery.com>
On Tuesday 06 October 2009 09:48:04, Pedro Alves wrote:
> On Tuesday 06 October 2009 05:44:08, Sérgio Durigan Júnior wrote:
>
> > Also, there's one more thing I'd like to point out. The catch syscall
> > testcase partially relies in the fact that GDB will not have the data-
> > directory automatically set on startup.
>
> The tests run with "gdb -nx", thus garanteed to skip any
> .gdbinit file. (I did check that the patch had introduced no
> regressions.)
>
> > This is because, among other things,
> > it has to test how GDB behaves when it doesn't have access to the XML files
> > for the architecture (or even when those files don't exist at all), and this
> > scenario is achieved when data-directory is empty.
>
> But, data-directory isn't empty by default.
>
> (gdb) show data-directory
> GDB's data directory is "/usr/local/share/gdb".
>
> > Anyway, if we decide to make this parameter be automatically set upon GDB's
> > initialization in the build dir, we have to make sure that this doesn't break
> > the testcase (I didn't test this specific case yet, but IIRC it's likely that
> > it will break). If it does, we may need to unset it on some situations inside
> > the testcase in order to make it work properly.
>
> Oh, the test is broken if the default system data-directory
> _does_ have contents in it, from a previous installation. Easy to test. See:
>
> Using the default /usr/local/ prefix, no gdb installed yet:
>
> $ make check RUNTESTFLAGS="catch-syscall.exp"
> ...
> # of expected passes 45
>
> $ sudo make install
> ... yadda, yadda ...
>
> $ make check RUNTESTFLAGS="catch-syscall.exp"
>
> Running ../../../src/gdb/testsuite/gdb.base/catch-syscall.exp ...
> FAIL: gdb.base/catch-syscall.exp: Catch syscall displays a warning when there is no XML support
> FAIL: gdb.base/catch-syscall.exp: catch syscall with arguments (3)
> FAIL: gdb.base/catch-syscall.exp: syscall(s) 3 appears in 'info breakpoints'
> FAIL: gdb.base/catch-syscall.exp: program has called 3
> FAIL: gdb.base/catch-syscall.exp: syscall 3 has returned
>
I've applied the patch below to fix this.
--
Pedro Alves
2009-11-22 Pedro Alves <pedro@codesourcery.com>
* gdb.base/catch-syscall.exp (test_catch_syscall_fail_nodatadir)
(do_syscall_tests_without_xml): Set data-directory to
/the/path/to/nowhere.
---
gdb/testsuite/gdb.base/catch-syscall.exp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
Index: src/gdb/testsuite/gdb.base/catch-syscall.exp
===================================================================
--- src.orig/gdb/testsuite/gdb.base/catch-syscall.exp 2009-11-22 22:23:49.000000000 +0000
+++ src/gdb/testsuite/gdb.base/catch-syscall.exp 2009-11-22 22:54:35.000000000 +0000
@@ -258,6 +258,10 @@ proc test_catch_syscall_fail_nodatadir {
# Sanitizing.
delete_breakpoints
+ # Make sure GDB doesn't load the syscalls xml from the system data
+ # directory.
+ gdb_test "set data-directory /the/path/to/nowhere" ""
+
# Testing to see if we receive a warning when calling "catch syscall"
# without XML support (without datadir).
set thistest "Catch syscall displays a warning when there is no XML support (no datadir set)"
@@ -382,9 +386,9 @@ proc test_catch_syscall_with_wrong_args_
proc do_syscall_tests_without_xml {} {
global gdb_prompt srcdir
- # In this case, we don't need to set GDB's datadir because
- # we want GDB to display only numbers, not names. So, let's
- # begin with the tests.
+ # Make sure GDB doesn't load the syscalls xml from the system data
+ # directory.
+ gdb_test "set data-directory /the/path/to/nowhere" ""
# Let's test if we can catch syscalls without XML support.
# We should succeed, but GDB is not supposed to print syscall names.
prev parent reply other threads:[~2009-11-22 23:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 19:56 Can we make gdbinit.in set the data-directory to @srcdir@? Pedro Alves
2009-10-02 21:05 ` Joel Brobecker
2009-10-04 13:55 ` Pedro Alves
2009-10-05 13:41 ` Pedro Alves
2009-10-06 4:44 ` Sérgio Durigan Júnior
2009-10-06 5:34 ` Doug Evans
2009-10-06 9:33 ` Pedro Alves
2009-10-06 8:48 ` Pedro Alves
2009-11-22 23:00 ` Pedro Alves [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200911222259.40063.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=sergiodj@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox