aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-08-03 16:53:22 -0600
committerTom Tromey <tom@tromey.com>2017-08-22 09:30:12 -0600
commit14278e1fdbe045df184d6dd546ff6a1e9e3c3797 (patch)
tree9d736376600a484749b60ce7fe0902ae52650d68 /gdb/testsuite/gdb.gdb
parent4971c9a74b47103582834e46d0185390379e60b3 (diff)
downloadgdb-14278e1fdbe045df184d6dd546ff6a1e9e3c3797.zip
gdb-14278e1fdbe045df184d6dd546ff6a1e9e3c3797.tar.gz
gdb-14278e1fdbe045df184d6dd546ff6a1e9e3c3797.tar.bz2
Change gdb_realpath to return a unique_xmalloc_ptr
This changes gdb_realpath to return a unique_xmalloc_ptr and fixes up the callers. This allows removing some cleanups. This change by itself caused xfullpath.exp to fail; and attempting to fix that ran into various problems (like .get() being optimized out); so this patch also rewrites xfullpath.exp to be a C++ selftest instead. ChangeLog 2017-08-22 Tom Tromey <tom@tromey.com> * exec.c (exec_file_attach): Update. * linux-thread-db.c (try_thread_db_load): Update. * guile/scm-safe-call.c (gdbscm_safe_source_script): Update. * utils.c (gdb_realpath): Change return type. (gdb_realpath_keepfile): Update. (gdb_realpath_check_trailer, gdb_realpath_tests): New functions. (_initialize_utils): Register the new self test. * source.c (openp): Update. (find_and_open_source): Update. * nto-tdep.c (nto_find_and_open_solib): Update. * main.c (set_gdb_data_directory): Update. (captured_main_1): Update. * dwarf2read.c (dwarf2_get_dwz_file): Update (dw2_map_symbol_filenames): Update. * auto-load.c (auto_load_safe_path_vec_update): Update. (filename_is_in_auto_load_safe_path_vec): Change type of "filename_realp". (auto_load_objfile_script): Update. (file_is_auto_load_safe): Update. Use std::string. * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr. testsuite/ChangeLog 2017-08-22 Tom Tromey <tom@tromey.com> * gdb.gdb/xfullpath.exp: Remove.
Diffstat (limited to 'gdb/testsuite/gdb.gdb')
-rw-r--r--gdb/testsuite/gdb.gdb/xfullpath.exp60
1 files changed, 0 insertions, 60 deletions
diff --git a/gdb/testsuite/gdb.gdb/xfullpath.exp b/gdb/testsuite/gdb.gdb/xfullpath.exp
deleted file mode 100644
index 8c90693..0000000
--- a/gdb/testsuite/gdb.gdb/xfullpath.exp
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2002-2017 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/>.
-
-# This file was written by Joel Brobecker. (brobecker@gnat.com), derived
-# from selftest.exp, written by Rob Savoye.
-
-load_lib selftest-support.exp
-
-proc test_with_self {} {
- # A file which contains a directory prefix
- gdb_test "print gdb_realpath (\"./xfullpath.exp\")" \
- ".\[0-9\]+ =.*\".*/xfullpath.exp\"" \
- "A filename with ./ as the directory prefix"
-
- # A file which contains a directory prefix
- gdb_test "print gdb_realpath (\"../../defs.h\")" \
- ".\[0-9\]+ =.*\".*/defs.h\"" \
- "A filename with ../ in the directory prefix"
-
- # A one-character filename
- gdb_test "print gdb_realpath (\"./a\")" \
- ".\[0-9\]+ =.*\".*/a\"" \
- "A one-char filename in the current directory"
-
- # A file in the root directory
- gdb_test "print gdb_realpath (\"/root_file_which_should_exist\")" \
- ".\[0-9\]+ =.*\"/root_file_which_should_exist\"" \
- "A filename in the root directory"
-
- # A file which does not have a directory prefix
- gdb_test "print gdb_realpath (\"xfullpath.exp\")" \
- ".\[0-9\]+ =.*\"xfullpath.exp\"" \
- "A filename without any directory prefix"
-
- # A one-char filename without any directory prefix
- gdb_test "print gdb_realpath (\"a\")" \
- ".\[0-9\]+ =.*\"a\"" \
- "A one-char filename without any directory prefix"
-
- # An empty filename
- gdb_test "print gdb_realpath (\"\")" \
- ".\[0-9\]+ =.*\"\"" \
- "an empty filename"
-
- return 0
-}
-
-do_self_tests captured_main test_with_self