[Lldb-commits] [lldb] 817b3a6 - [test] Use abspath instead of realpath sometimes
Jordan Rupprecht via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 4 08:22:19 PDT 2020
Author: Jordan Rupprecht
Date: 2020-08-04T08:20:50-07:00
New Revision: 817b3a6fe3a4452eb61a2503c8beaa7267ca0351
URL: https://github.com/llvm/llvm-project/commit/817b3a6fe3a4452eb61a2503c8beaa7267ca0351
DIFF: https://github.com/llvm/llvm-project/commit/817b3a6fe3a4452eb61a2503c8beaa7267ca0351.diff
LOG: [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
Added:
Modified:
lldb/packages/Python/lldbsuite/test/dotest.py
Removed:
################################################################################
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index 3fb802f1c1aa..f43685c069e4 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -241,7 +241,7 @@ def parseOptionsAndInitTestdirs():
do_help = True
if args.compiler:
- configuration.compiler = os.path.realpath(args.compiler)
+ configuration.compiler = os.path.abspath(args.compiler)
if not is_exe(configuration.compiler):
configuration.compiler = which(args.compiler)
if not is_exe(configuration.compiler):
@@ -461,7 +461,7 @@ def setupSysPath():
if "DOTEST_PROFILE" in os.environ and "DOTEST_SCRIPT_DIR" in os.environ:
scriptPath = os.environ["DOTEST_SCRIPT_DIR"]
else:
- scriptPath = os.path.dirname(os.path.realpath(__file__))
+ scriptPath = os.path.dirname(os.path.abspath(__file__))
if not scriptPath.endswith('test'):
print("This script expects to reside in lldb's test directory.")
sys.exit(-1)
More information about the lldb-commits
mailing list