old-cross-binutils/gdb/testsuite/gdb.python
Yao Qi 673dc4a054 Skip testing argv[0] on target argv[0] isn't available
I see the following two fails on arm-none-eabi target, because argv[0]
isn't available.

print argv[0]^M
$1 = 0x1f78 "/dev/null"^M
(gdb) FAIL: gdb.base/argv0-symlink.exp: kept file symbolic link name

print argv[0]^M
$1 = 0x1f78 "/dev/null"^M
(gdb) FAIL: gdb.base/argv0-symlink.exp: kept directory symbolic link name

My first thought is to check [target_info exists noargs], and skip the
test if it returns true.  However, noargs is set in gdbserver board
files, so argv0-symlink.exp will be skipped on gdbserver board file.
The change is too aggressive.

When the program is running with gdbserver, argv[1] to argv[N] aren't
available, but argv[0] is.  Fortunately, argv0-symlink.exp only
requires argv[0].  argv0-symlink.exp can be run with gdbserver board
file, as what we do now.

What we need to check is whether argv[0] is available, so I add a new
proc gdb_has_argv0 to do so by starting a program, and check
argc/argv[0] to see whether argv[0] is available.

Dan fixed the similar problem by checking noargs, which is too strong.
https://sourceware.org/ml/gdb-patches/2010-02/msg00398.html as a
result, the test is skipped on gdbserver.  This patch fixed it too.

gdb/testsuite:

2014-10-18  Yao Qi  <yao@codesourcery.com>

	* gdb.base/argv0-symlink.exp: Check argv[0] value if
	gdb_has_argv0 return true.
	* gdb.guile/scm-value.exp (test_value_in_inferior): Don't
	check [target_info exists noargs], check [gdb_has_argv0]
	instead.
	* gdb.python/py-value.exp (test_value_in_inferior): Likewise.
	* lib/gdb.exp (gdb_has_argv0, gdb_has_argv0_1): New
	procedures.
2014-10-18 20:58:06 +08:00
..
amd64-py-framefilter-invalidarg.S Fix crash on Python frame filters with unreadable arg 2014-09-07 14:09:59 +02:00
lib-types.cc
lib-types.exp Fix and XFAIL test due to GCC PR55641, passes with clang 2014-04-24 13:22:10 -07:00
Makefile.in
py-arch.c
py-arch.exp Remove duplicated code on checking address 0x0 is accessiable 2014-08-09 08:46:32 +08:00
py-block.c
py-block.exp
py-breakpoint.c
py-breakpoint.exp Fix mingw32 failures due to incorrect directory separator in pattern 2014-10-17 11:28:17 -03:00
py-caller-is.c PR 15276: Add $_caller_is, $_caller_matches, $_any_caller_is, $_any_caller_matches 2014-09-06 09:15:44 -07:00
py-caller-is.exp PR 15276: Add $_caller_is, $_caller_matches, $_any_caller_is, $_any_caller_matches 2014-09-06 09:15:44 -07:00
py-cmd.c
py-cmd.exp Fix PR gdb/17035: "show user" doesn't list user-defined commands that 2014-09-07 20:12:19 -03:00
py-completion.exp PR python/16699: GDB Python command completion with overriden complete vs. completer class 2014-09-03 16:30:28 -04:00
py-completion.py PR python/16699: GDB Python command completion with overriden complete vs. completer class 2014-09-03 16:30:28 -04:00
py-error.exp
py-error.py
py-events-shlib.c
py-events.c
py-events.exp New python event "clear_objfiles". 2014-10-17 11:12:17 -07:00
py-events.py New python event "clear_objfiles". 2014-10-17 11:12:17 -07:00
py-evsignal.exp enable target async by default; separate MI and target notions of async 2014-05-29 14:38:02 +01:00
py-evthreads.c
py-evthreads.exp enable target async by default; separate MI and target notions of async 2014-05-29 14:38:02 +01:00
py-explore-cc.exp
py-explore.c
py-explore.cc
py-explore.exp
py-finish-breakpoint.c
py-finish-breakpoint.exp Copy .py files to remote host 2014-08-22 13:44:18 +08:00
py-finish-breakpoint.py
py-finish-breakpoint2.cc
py-finish-breakpoint2.exp Copy .py files to remote host 2014-08-22 13:44:18 +08:00
py-finish-breakpoint2.py
py-frame-args.c
py-frame-args.exp
py-frame-args.py
py-frame-inline.c Fix PR backtrace/15558 2014-04-18 10:34:09 +01:00
py-frame-inline.exp Fix PR backtrace/15558 2014-04-18 10:34:09 +01:00
py-frame.c
py-frame.exp Add support for reading frame registers to Python API. 2014-09-03 16:34:47 -07:00
py-framefilter-gdb.py.in
py-framefilter-invalidarg-gdb.py.in Fix crash on Python frame filters with unreadable arg 2014-09-07 14:09:59 +02:00
py-framefilter-invalidarg.exp Fix crash on Python frame filters with unreadable arg 2014-09-07 14:09:59 +02:00
py-framefilter-invalidarg.py Fix crash on Python frame filters with unreadable arg 2014-09-07 14:09:59 +02:00
py-framefilter-mi.c
py-framefilter-mi.exp fix crash in frame filters 2014-01-23 08:03:50 -07:00
py-framefilter.c
py-framefilter.exp Fix typo in test name 2014-02-08 10:44:11 +01:00
py-framefilter.py fix erroneous error-handling in frame filter code 2014-01-23 08:03:51 -07:00
py-function.exp
py-inferior.c
py-inferior.exp
py-infthread.c
py-infthread.exp
py-linetable.c
py-linetable.exp
py-linetable.S
py-mi.exp
py-objfile-script-gdb.py.in
py-objfile-script.c
py-objfile-script.exp
py-objfile.c
py-objfile.exp Add gdb.Objfile.progspace attribute. 2014-10-17 10:57:26 -07:00
py-parameter.exp Fix py-parameter.exp for remote host 2014-10-15 15:33:24 +08:00
py-pp-integral.c
py-pp-integral.exp
py-pp-integral.py
py-pp-maint.c
py-pp-maint.exp
py-pp-maint.py
py-pp-re-notag.c [Python] Make regexp collection printers work with typedefs as well. 2014-02-26 11:04:12 -08:00
py-pp-re-notag.exp [Python] Make regexp collection printers work with typedefs as well. 2014-02-26 11:04:12 -08:00
py-pp-re-notag.py [Python] Make regexp collection printers work with typedefs as well. 2014-02-26 11:04:12 -08:00
py-prettyprint.c Ensure unreferenced static symbols aren't omitted by clang (either marking them __attribute__((used)) or making them non-static) 2014-04-24 22:33:46 -07:00
py-prettyprint.exp Remove duplicated code on checking address 0x0 is accessiable 2014-08-09 08:46:32 +08:00
py-prettyprint.py
py-progspace.c
py-progspace.exp
py-prompt.c
py-prompt.exp testsuite: refactor spawn and wait for attach 2014-09-11 13:04:14 +01:00
py-section-script.c
py-section-script.exp
py-section-script.py
py-shared-sl.c
py-shared.c
py-shared.exp
py-strfns.c
py-strfns.exp
py-symbol.c
py-symbol.exp Fix file name matching on remote host. 2014-10-15 15:33:24 +08:00
py-symtab.exp Fix file name matching on remote host. 2014-10-15 15:33:24 +08:00
py-sync-interp.c
py-sync-interp.exp testsuite: refactor spawn and wait for attach 2014-09-11 13:04:14 +01:00
py-template.cc
py-template.exp
py-type.c Use bitpos and type to lookup a gdb.Field object when its name is 'None'. 2014-01-13 17:35:56 -08:00
py-type.exp Use bitpos and type to lookup a gdb.Field object when its name is 'None'. 2014-01-13 17:35:56 -08:00
py-typeprint.cc
py-typeprint.exp
py-typeprint.py
py-value-cc.cc Call overloaded operators to perform operations on gdb.Value objects. 2014-02-19 15:47:45 -08:00
py-value-cc.exp Call overloaded operators to perform operations on gdb.Value objects. 2014-02-19 15:47:45 -08:00
py-value.c [python] Fix gdb.Value.dynamic_type for reference values. 2014-04-07 14:18:44 -07:00
py-value.exp Skip testing argv[0] on target argv[0] isn't available 2014-10-18 20:58:06 +08:00
py-xmethods.cc Make xmethods tests not to depend on inferior IO. 2014-06-18 04:31:47 -07:00
py-xmethods.exp Align behavior of xmethod commands with that of pretty-printer commands. 2014-06-23 04:57:51 -07:00
py-xmethods.py Fix xmethod Python so that it works with Python3. 2014-08-15 18:04:47 -07:00
python-1.c
python.c
python.exp Fix file name matching on remote host. 2014-10-15 15:33:24 +08:00
source1
source2.py