# 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 . # Test 'sources' and 'loadedSources'. require allow_dap_tests load_lib dap-support.exp standard_testfile if {[build_executable ${testfile}.exp $testfile] == -1} { return } if {[dap_initialize] == ""} { return } if {[dap_launch $testfile stop_at_main 1] == ""} { return } set obj [dap_check_request_and_response loadedSources loadedSources] set path "" foreach src [dict get [lindex $obj 0] body sources] { if {[file tail [dict get $src name]] == "sources.c"} { set path [dict get $src path] } } if {$path == ""} { fail "sources.c in loadedSources" } else { pass "sources.c in loadedSources" set obj [dap_check_request_and_response "get source" source \ [format {o source [o path [s %s]] \ sourceReference [i 0]} $path]] if { $obj != "" } { set text [dict get [lindex $obj 0] body content] gdb_assert {[string first "Distinguishing comment" $text] != -1} } } dap_shutdown