Browse Source
This implements the DAP "source" request. I renamed the "loadedSources" function from "sources" to "loaded_sources" to avoid any confusion. I also moved the loadedSources test to the new sources.exp. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30691gdb-14-branch
4 changed files with 97 additions and 4 deletions
@ -0,0 +1,22 @@ |
|||
/* Copyright 2023 Free Software Foundation, Inc.
|
|||
|
|||
This file is part of GDB. |
|||
|
|||
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/>. */
|
|||
|
|||
int |
|||
main () |
|||
{ |
|||
/* Distinguishing comment. */ |
|||
} |
|||
@ -0,0 +1,52 @@ |
|||
# Copyright 2023 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 'sources' and 'loadedSources'. |
|||
|
|||
require allow_dap_tests |
|||
|
|||
load_lib dap-support.exp |
|||
|
|||
standard_testfile |
|||
|
|||
if {[build_executable ${testfile}.exp $testfile] == -1} { |
|||
return |
|||
} |
|||
|
|||
if {[dap_launch $testfile stop_at_main 1] == ""} { |
|||
return |
|||
} |
|||
|
|||
set obj [dap_check_request_and_response loadedSources loadedSources] |
|||
set ref 0 |
|||
foreach src [dict get [lindex $obj 0] body sources] { |
|||
if {[file tail [dict get $src name]] == "sources.c"} { |
|||
set ref [dict get $src sourceReference] |
|||
} |
|||
} |
|||
|
|||
if {$ref == 0} { |
|||
fail "sources.c in loadedSources" |
|||
} else { |
|||
pass "sources.c in loadedSources" |
|||
|
|||
set obj [dap_check_request_and_response "get source" source \ |
|||
[format {o sourceReference [i %d]} $ref]] |
|||
set text [dict get [lindex $obj 0] body content] |
|||
gdb_assert {[string first "Distinguishing comment" $text] != -1} |
|||
} |
|||
|
|||
|
|||
dap_shutdown |
|||
Loading…
Reference in new issue