1 # Copyright 2023-2024 Free Software Foundation, Inc. 2 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. 7 # 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. 12 # 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/>. 15 16 # Test "attach" in DAP. 17 18 require can_spawn_for_attach allow_dap_tests 19 20 load_lib dap-support.exp 21 22 standard_testfile 23 24 if {[build_executable ${testfile}.exp $testfile] == -1} { 25 return 26 } 27 28 set test_spawn_id [spawn_wait_for_attach $binfile] 29 set testpid [spawn_id_get_pid $test_spawn_id] 30 31 # Test that attaching works at all. 32 set result [dap_attach $testpid $binfile] 33 34 set found 0 35 foreach ev [lindex $result 1] { 36 if {[dict get $ev type] == "event" 37 && [dict get $ev event] == "stopped" 38 && [dict get $ev body reason] == "attach"} { 39 set found 1 40 } 41 } 42 gdb_assert {$found} "saw stopped event for attach" 43 44 dap_shutdown true 45 46 kill_wait_spawned_process $test_spawn_id 47