[test] Use abspath instead of realpath sometimes
authorJordan Rupprecht <rupprecht@google.com>
Tue, 4 Aug 2020 00:33:37 +0000 (17:33 -0700)
committerJordan Rupprecht <rupprecht@google.com>
Tue, 4 Aug 2020 15:20:50 +0000 (08:20 -0700)
commit817b3a6fe3a4452eb61a2503c8beaa7267ca0351
treeac3bf23c36143d37270bdb477237b6056a7050da
parent8ec8ad868d9b970245e827b14306fbd11d11a9b2
[test] Use abspath instead of realpath sometimes

In these two cases, use of `os.path.realpath` is problematic:

- The name of the compiler is significant [1] . For testing purposes, we might
  provide a compiler called "clang" which is actually a symlink to some build
  script (which does some flag processing before invoking the real clang). The
  destination the symlink may not be called "clang", but we still want it to be
  treated as such.
- When using a build system that puts build artifacts in an arbitrary build
  location, and later creates a symlink for it (e.g. creates a
  "<lldb root>/lldbsuite/test/dotest.py" symlinks that points to
  "/build/artifact/<hash>/dotest.py"), looking at the realpath will not match
  the "test" convention required here.

[1] See `Makefile.rules` in the lldb tree, e.g. we use different flags if the compiler is named "clang"

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D85175
lldb/packages/Python/lldbsuite/test/dotest.py