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"])


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"])
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to