mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 09:14:14 +08:00
[gdb/testsuite] Fix duplicate in gdb.base/argv0-symlink.exp
I found the following duplicates in gdb.base/argv0-symlink.exp: ... DUPLICATE: gdb.base/argv0-symlink.exp: set print repeats 10000 DUPLICATE: gdb.base/argv0-symlink.exp: set print elements 10000 ... Fix these by using with_test_prefix "file symlink" / "dir symlink". Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-06-24 Tom de Vries <tdevries@suse.de> * gdb.base/argv0-symlink.exp: Use with_test_prefix.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2021-06-24 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.base/argv0-symlink.exp: Use with_test_prefix.
|
||||
|
||||
2021-06-23 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lib/gdb.exp (gdb_test_lines): Rewrite to accept single
|
||||
|
@ -38,73 +38,82 @@ if { [build_executable ${testfile}.exp ${testfile} ${srcfile}] == -1 } {
|
||||
return -1
|
||||
}
|
||||
|
||||
set test "kept file symbolic link name"
|
||||
set filelink "${testfile}-filelink"
|
||||
with_test_prefix "file symlink" {
|
||||
|
||||
remote_file host delete [standard_output_file $filelink]
|
||||
set status [remote_exec host "ln -sf ${testfile} [standard_output_file $filelink]"]
|
||||
if {[lindex $status 0] != 0} {
|
||||
unsupported "$test (host does not support symbolic links)"
|
||||
return 0
|
||||
}
|
||||
set test "kept name"
|
||||
set filelink "${testfile}-filelink"
|
||||
|
||||
clean_restart "$filelink"
|
||||
|
||||
if ![runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test_no_output "set print repeats 10000"
|
||||
gdb_test_no_output "set print elements 10000"
|
||||
|
||||
if { $has_argv0 } {
|
||||
gdb_test {print argv[0]} "/$filelink\"" $test
|
||||
} else {
|
||||
unsupported $test
|
||||
}
|
||||
|
||||
# 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"
|
||||
set dirlink "${testfile}-dirlink"
|
||||
|
||||
# 'ln -sf' does not overwrite symbol link to a directory.
|
||||
# 'remote_file host delete' uses stat (not lstat), therefore it refuses to
|
||||
# delete a directory.
|
||||
remote_exec host "rm -f [standard_output_file $dirlink]"
|
||||
set status [remote_exec host "ln -sf . [standard_output_file $dirlink]"]
|
||||
if {[lindex $status 0] != 0} {
|
||||
unsupported "$test (host does not support symbolic links)"
|
||||
return 0
|
||||
}
|
||||
|
||||
clean_restart "$dirlink/$filelink"
|
||||
|
||||
if ![runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test_no_output "set print repeats 10000"
|
||||
gdb_test_no_output "set print elements 10000"
|
||||
|
||||
if { $has_argv0 } {
|
||||
# gdbserver in extended-remote mode does not have this issue.
|
||||
# Plain remote does, however.
|
||||
if {[target_info gdb_protocol] != "extended-remote" || ![target_is_gdbserver]} {
|
||||
setup_kfail "*-*-*" gdb/15934
|
||||
remote_file host delete [standard_output_file $filelink]
|
||||
set status [remote_exec host \
|
||||
"ln -sf ${testfile} [standard_output_file $filelink]"]
|
||||
if {[lindex $status 0] != 0} {
|
||||
unsupported "$test (host does not support symbolic links)"
|
||||
return 0
|
||||
}
|
||||
gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
|
||||
} else {
|
||||
unsupported $test
|
||||
|
||||
clean_restart "$filelink"
|
||||
|
||||
if ![runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test_no_output "set print repeats 10000"
|
||||
gdb_test_no_output "set print elements 10000"
|
||||
|
||||
if { $has_argv0 } {
|
||||
gdb_test {print argv[0]} "/$filelink\"" $test
|
||||
} else {
|
||||
unsupported $test
|
||||
}
|
||||
|
||||
# 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"
|
||||
}
|
||||
|
||||
gdb_test "info inferiors" "/$lastdir/$filelink *" "$test for info inferiors"
|
||||
with_test_prefix "dir symlink" {
|
||||
|
||||
set test "kept name"
|
||||
set dirlink "${testfile}-dirlink"
|
||||
|
||||
# 'ln -sf' does not overwrite symbol link to a directory.
|
||||
# 'remote_file host delete' uses stat (not lstat), therefore it refuses to
|
||||
# delete a directory.
|
||||
remote_exec host "rm -f [standard_output_file $dirlink]"
|
||||
set status [remote_exec host "ln -sf . [standard_output_file $dirlink]"]
|
||||
if {[lindex $status 0] != 0} {
|
||||
unsupported "$test (host does not support symbolic links)"
|
||||
return 0
|
||||
}
|
||||
|
||||
clean_restart "$dirlink/$filelink"
|
||||
|
||||
if ![runto_main] {
|
||||
untested "could not run to main"
|
||||
return -1
|
||||
}
|
||||
|
||||
gdb_test_no_output "set print repeats 10000"
|
||||
gdb_test_no_output "set print elements 10000"
|
||||
|
||||
if { $has_argv0 } {
|
||||
# gdbserver in extended-remote mode does not have this issue.
|
||||
# Plain remote does, however.
|
||||
if { [target_info gdb_protocol] != "extended-remote"
|
||||
|| ![target_is_gdbserver] } {
|
||||
setup_kfail "*-*-*" gdb/15934
|
||||
}
|
||||
gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
|
||||
} else {
|
||||
unsupported $test
|
||||
}
|
||||
|
||||
gdb_test "info inferiors" "/$lastdir/$filelink *" \
|
||||
"$test for info inferiors"
|
||||
}
|
||||
|
Reference in New Issue
Block a user