aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dap/remote-dap.exp
blob: 5c28a045e7032433e0389c32964efa31ddc6078e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright 2023-2024 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Test "attach" with a remote target in DAP.

load_lib gdbserver-support.exp
load_lib dap-support.exp

require allow_dap_tests allow_gdbserver_tests
# We want to have control over where we start gdbserver.
require {!is_remote target}

# This test is only for remote targets.
if {[target_info exists gdb_protocol]
    && [target_info gdb_protocol] != "remote"} {
    unsupported "requires remote"
    return
}

standard_testfile attach.c

if {[build_executable ${testfile}.exp $testfile $srcfile] == -1} {
    return
}

set target_exec [gdb_remote_download target [standard_output_file $testfile]]

lassign [gdbserver_start "" $target_exec] protocol port
# Really should have been caught up above.
gdb_assert {$protocol == "remote"}

# We just want to test that attaching works at all.
if {[dap_target_remote $port] != ""} {
    dap_shutdown true
}

close_gdbserver