[all-commits] [llvm/llvm-project] fe9767: [lldb][test] Fix ComputeClangResourceDirectory tes...

David Spickett via All-commits all-commits at lists.llvm.org
Fri Jul 12 01:30:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe9767105af65f0a7345afb6bb2f14e5d4404a15
      https://github.com/llvm/llvm-project/commit/fe9767105af65f0a7345afb6bb2f14e5d4404a15
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M lldb/unittests/Expression/ClangParserTest.cpp

  Log Message:
  -----------
  [lldb][test] Fix ComputeClangResourceDirectory test when CLANG_RESOURCE_DIR is set (#98464)

This was found during testing of llvm snapshots for Fedora.

This test was looking for an exact string match of the path calculated
by starting with lib/liblldb and with bin/lldb. However when
CLANG_RESOURCE_DIR is set to something e.g. "../lib/clang/19", the way
the initial path is handled is different.

Instead of taking the parent of the parent of the binary, that is
foo/bin/lldb/ -> foo/, it uses the parent of the binary and appends
CLANG_RESOURCE_DIR to that. As CLANG_RESOURCE_DIR is defined as being a
path relative to the parent dir's of the clang binary.

This means that if you start with foo/lib/lidblldb the resulting path is
lib/../lib/clang/19, but if you start with bin/lldb the result is
bin/../lib/clang/19.

I don't want to change the starting path of
DefaultComputeClangResourceDirectory (which is bin/lldb) as I suspect
that's chosen instead of liblldb for good reason.

So the way to make this test work is to check not for exact path matches
but that the "real" (".." resolved) version of the paths are the same.
That way foo/bin/../lib and foo/lib/../lib will be the same.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list