+2021-02-27 Lancelot Six <lsix@lancelotsix.com>
+
+ PR gdb/27393
+ * source.c (add_path): Skip empty dirnames.
+
2021-02-25 Kevin Buettner <kevinb@redhat.com>
* nat/aarch64-sve-linux-ptrace.h: Add comment regarding
+2021-02-27 Lancelot Six <lsix@lancelotix.com>
+
+ PR gdb/27393
+ * gdb.base/source-dir.exp: Test that empty dirnames are skipped.
+
+
2021-02-26 Tom Tromey <tom@tromey.com>
* lib/gdb.exp (skip_ctf_tests): Use expr on result.
"info source after setting directory search list"
}
+proc test_change_search_directory_with_empty_dirname {} {
+ gdb_start
+
+ # Add 3 entries to the source directories list:
+ # - ""
+ # - "/foo"
+ # - "/bar"
+ # Since /foo and /bar probably do not exist, ignore the warnings printed by
+ # GDB.
+ if { [ishost *-*-mingw*] } {
+ gdb_test "set directories ;/foo;/bar" ".*"
+ } else {
+ gdb_test "set directories :/foo:/bar" ".*"
+ }
+
+ # The first entry added ("") should be ignored, only /foo and /bar are
+ # effectively added.
+ with_test_prefix "initial_directory_state" {
+ gdb_test "show directories" \
+ [search_dir_list [list \
+ "/foo" \
+ "/bar" \
+ "\\\$cdir" \
+ "\\\$cwd"]]
+ }
+
+ # Arguments can be quoted. Check a empty string has the same effect as
+ # 'set directory' (i.e. reset to $cdir:$cwd)
+ gdb_test_no_output "set directories \"\""
+
+ with_test_prefix "directory_after_reset" {
+ gdb_test "show directories" \
+ [search_dir_list [list \
+ "\\\$cdir" \
+ "\\\$cwd"]]
+ }
+
+ gdb_exit
+}
+
test_changing_search_directory
+test_change_search_directory_with_empty_dirname
test_truncated_comp_dir