fix argv0-symlink.exp for parallel mode

argv0-symlink.exp doesn't work properly if standard_output_file puts
files into a per-test subdirectory.  That's because it assumes that
files appear in $subdir, which is no longer true.

This patch fixes the problem by computing the correct directory at
runtime.

Tested both with and without GDB_PARALLEL on x86-64 Fedora 18.

2013-11-04  Tom Tromey  <tromey@redhat.com>

	* gdb.base/argv0-symlink.exp: Compute executable's directory
	dynamically.
This commit is contained in:
Tom Tromey 2013-10-18 13:12:32 -06:00
parent c59ffcabfe
commit 24890efdab
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/argv0-symlink.exp: Compute executable's directory
dynamically.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.asm/asm-source.exp: Use standard_output_file.

View File

@ -37,7 +37,14 @@ if ![runto_main] {
}
gdb_test {print argv[0]} "/$filelink\"" $test
gdb_test "info inferiors" "/$subdir/$filelink *" "$test for info inferiors"
# For a link named /PATH/TO/DIR/LINK, we want to check the output
# against "/DIR/LINK", but computed in a way that doesn't make
# assumptions about the test directory layout.
set full_filelink [standard_output_file $filelink]
set lastdir [file tail [file dirname $full_filelink]]
gdb_test "info inferiors" "/$lastdir/$filelink *" "$test for info inferiors"
set test "kept directory symbolic link name"
@ -65,4 +72,4 @@ if ![is_remote target] {
setup_kfail "*-*-*" gdb/15934
}
gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
gdb_test "info inferiors" "/$subdir/$filelink *" "$test for info inferiors"
gdb_test "info inferiors" "/$lastdir/$filelink *" "$test for info inferiors"