1 # Copyright
2016-2023 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program.
If not
, see
<http
://www.gnu.org
/licenses
/>.
16 # Test an inferior function
call which execs a new
program.
17 # This is a test
for breakpoints
/19546.
21 set testfile2
"infcall-exec2"
22 set srcfile2
"${testfile2}.c"
23 set binfile2
[standard_output_file $testfile2
]
25 # Build the two executables
for the test.
26 if {[gdb_compile $srcdir
/$subdir
/$srcfile $binfile executable debug
] != ""} {
27 untested
"could not build $binfile"
30 if {[gdb_compile $srcdir
/$subdir
/$srcfile2 $binfile2 executable debug
] != ""} {
31 untested
"could not build $binfile2"
35 if { [is_remote target
] } {
36 set binfile2
[gdb_remote_download target $binfile2
]
39 clean_restart $binfile
45 set linenr
[gdb_get_line_number
"break here"]
46 gdb_breakpoint $linenr
47 gdb_continue_to_breakpoint
"Ensure PATH is set" ".* break here .*"
49 set expected_result
"process $decimal is executing new program: \[^\r\n\]*$binfile2"
50 append expected_result
"\[\r\n\]+.*"
51 append expected_result
"Breakpoint 1, main .*at .*$srcfile2:$decimal"
52 append expected_result
".*"
54 gdb_test
"call (int) execlp \(\"$binfile2\", \"$binfile2\", \(char \*\)0\)" \
55 $expected_result
"call execlp"