[Lldb-commits] [PATCH] D58465: testsuite: Fix TestCompDirSymLink on Linux with symlinked build dir

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Feb 20 11:07:27 PST 2019


jankratochvil created this revision.
jankratochvil added a project: LLDB.
Herald added subscribers: jdoerfert, aprantl.
Herald added a reviewer: serge-sans-paille.

Getting failure when building in a directory which is symlinked elsewhere:

  Failing Tests (1):
      lldb-Suite :: functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py



  runCmd: file /home/jkratoch/redhat/llvm-monorepo-clangassert/lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/CompDirSymLink
  output: Current executable set to '/home/jkratoch/redhat/llvm-monorepo-clangassert/lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/CompDirSymLink' (x86_64).
  runCmd: settings set plugin.symbol-file.dwarf.comp-dir-symlink-paths /proc/self/cwd
  output: None
  runCmd: breakpoint set -f "/home/jkratoch/redhat/llvm-monorepo-clangassert/lldb-test-build.noindex/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.test_symlink_paths_set_procselfcwd_dwarf/relative.cpp" -l 11
  output: Breakpoint 1: no locations (pending).
  WARNING:  Unable to resolve breakpoint to any actual locations.

It is because `/proc/self/cwd` (used above for `plugin.symbol-file.dwarf.comp-dir-symlink-paths`) points to an already resolved directory:

  (cd /tmp;mkdir real;ln -s real symlink;cd symlink;ls -l /proc/self/cwd)
  lrwxrwxrwx 1 jkratoch jkratoch 0 Feb 20 19:55 /proc/self/cwd -> /tmp/real/


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D58465

Files:
  lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py


Index: lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
+++ lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
@@ -48,6 +48,8 @@
             "settings set %s %s" %
             (_COMP_DIR_SYM_LINK_PROP, pwd_symlink))
         src_path = self.getBuildArtifact(_SRC_FILE)
+        # /proc/self/cwd points to a realpath form of current directory.
+        src_path = os.path.realpath(src_path)
         lldbutil.run_break_set_by_file_and_line(self, src_path, self.line)
 
     @skipIf(hostoslist=["windows"])


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58465.187624.patch
Type: text/x-patch
Size: 785 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190220/9a7ead7d/attachment.bin>


More information about the lldb-commits mailing list