mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +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>
|
2021-06-23 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
* lib/gdb.exp (gdb_test_lines): Rewrite to accept single
|
* lib/gdb.exp (gdb_test_lines): Rewrite to accept single
|
||||||
|
@ -38,73 +38,82 @@ if { [build_executable ${testfile}.exp ${testfile} ${srcfile}] == -1 } {
|
|||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
|
|
||||||
set test "kept file symbolic link name"
|
with_test_prefix "file symlink" {
|
||||||
set filelink "${testfile}-filelink"
|
|
||||||
|
|
||||||
remote_file host delete [standard_output_file $filelink]
|
set test "kept name"
|
||||||
set status [remote_exec host "ln -sf ${testfile} [standard_output_file $filelink]"]
|
set filelink "${testfile}-filelink"
|
||||||
if {[lindex $status 0] != 0} {
|
|
||||||
unsupported "$test (host does not support symbolic links)"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
clean_restart "$filelink"
|
remote_file host delete [standard_output_file $filelink]
|
||||||
|
set status [remote_exec host \
|
||||||
if ![runto_main] {
|
"ln -sf ${testfile} [standard_output_file $filelink]"]
|
||||||
untested "could not run to main"
|
if {[lindex $status 0] != 0} {
|
||||||
return -1
|
unsupported "$test (host does not support symbolic links)"
|
||||||
}
|
return 0
|
||||||
|
|
||||||
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
|
|
||||||
}
|
}
|
||||||
gdb_test {print argv[0]} "/$dirlink/$filelink\"" $test
|
|
||||||
} else {
|
clean_restart "$filelink"
|
||||||
unsupported $test
|
|
||||||
|
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