[Lldb-commits] [lldb] 4c53d48 - [lldb/Test] Don't use the env to pass around configuration variables (NFC)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Tue Jun 2 16:50:08 PDT 2020


Author: Jonas Devlieghere
Date: 2020-06-02T16:49:58-07:00
New Revision: 4c53d4801cbbb1b573e4ef758f93ead12e1f59a2

URL: https://github.com/llvm/llvm-project/commit/4c53d4801cbbb1b573e4ef758f93ead12e1f59a2
DIFF: https://github.com/llvm/llvm-project/commit/4c53d4801cbbb1b573e4ef758f93ead12e1f59a2.diff

LOG: [lldb/Test] Don't use the env to pass around configuration variables (NFC)

Don't use the environment to pass values to the builder. Use the
configuration instead.

Added: 
    

Modified: 
    lldb/packages/Python/lldbsuite/test/configuration.py
    lldb/packages/Python/lldbsuite/test/dotest.py
    lldb/packages/Python/lldbsuite/test/lldbtest.py
    lldb/packages/Python/lldbsuite/test/plugins/builder_base.py

Removed: 
    


################################################################################
diff  --git a/lldb/packages/Python/lldbsuite/test/configuration.py b/lldb/packages/Python/lldbsuite/test/configuration.py
index 0439c4e8f1ac..f05152253c75 100644
--- a/lldb/packages/Python/lldbsuite/test/configuration.py
+++ b/lldb/packages/Python/lldbsuite/test/configuration.py
@@ -42,8 +42,10 @@
 count = 1
 
 # The 'arch' and 'compiler' can be specified via command line.
-arch = None        # Must be initialized after option parsing
-compiler = None    # Must be initialized after option parsing
+arch = None
+compiler = None
+dsymutil = None
+sdkroot = None
 
 # The overriden dwarf verison.
 dwarf_version = 0

diff  --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index 54e5d4bc2df5..80edad811bae 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -275,9 +275,9 @@ def parseOptionsAndInitTestdirs():
                     break
 
     if args.dsymutil:
-        os.environ['DSYMUTIL'] = args.dsymutil
+        configuration.dsymutil = args.dsymutil
     elif platform_system == 'Darwin':
-        os.environ['DSYMUTIL'] = seven.get_command_output(
+        configuration.dsymutil = seven.get_command_output(
             'xcrun -find -toolchain default dsymutil')
 
     if args.filecheck:
@@ -302,7 +302,7 @@ def parseOptionsAndInitTestdirs():
 
     # Set SDKROOT if we are using an Apple SDK
     if platform_system == 'Darwin' and args.apple_sdk:
-        os.environ['SDKROOT'] = seven.get_command_output(
+        configuration.sdkroot = seven.get_command_output(
             'xcrun --sdk "%s" --show-sdk-path 2> /dev/null' %
             (args.apple_sdk))
 
@@ -310,10 +310,10 @@ def parseOptionsAndInitTestdirs():
         configuration.arch = args.arch
         if configuration.arch.startswith(
                 'arm') and platform_system == 'Darwin' and not args.apple_sdk:
-            os.environ['SDKROOT'] = seven.get_command_output(
+            configuration.sdkroot = seven.get_command_output(
                 'xcrun --sdk iphoneos.internal --show-sdk-path 2> /dev/null')
-            if not os.path.exists(os.environ['SDKROOT']):
-                os.environ['SDKROOT'] = seven.get_command_output(
+            if not os.path.exists(configuration.sdkroot):
+                configuration.sdkroot = seven.get_command_output(
                     'xcrun --sdk iphoneos --show-sdk-path 2> /dev/null')
     else:
         configuration.arch = platform_machine
@@ -522,7 +522,7 @@ def setupSysPath():
     # Set up the root build directory.
     if not configuration.test_build_dir:
         raise Exception("test_build_dir is not set")
-    os.environ["LLDB_BUILD"] = os.path.abspath(configuration.test_build_dir)
+    configuration.test_build_dir = os.path.abspath(configuration.test_build_dir)
 
     # Set up the LLDB_SRC environment variable, so that the tests can locate
     # the LLDB source code.
@@ -1041,8 +1041,7 @@ def run_suite():
 
     # Set up the working directory.
     # Note that it's not dotest's job to clean this directory.
-    build_dir = configuration.test_build_dir
-    lldbutil.mkdir_p(build_dir)
+    lldbutil.mkdir_p(configuration.test_build_dir)
 
     target_platform = lldb.selected_platform.GetTriple().split('-')[2]
 

diff  --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 04ba7ea02d09..0a640d2d5c93 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -668,7 +668,7 @@ def getBuildDirBasename(self):
 
     def getBuildDir(self):
         """Return the full path to the current test."""
-        return os.path.join(os.environ["LLDB_BUILD"], self.mydir,
+        return os.path.join(configuration.test_build_dir, self.mydir,
                             self.getBuildDirBasename())
 
     def getReproducerDir(self):
@@ -682,7 +682,6 @@ def getReproducerDir(self):
     def makeBuildDir(self):
         """Create the test-specific working directory, deleting any previous
         contents."""
-        # See also dotest.py which sets up ${LLDB_BUILD}.
         bdir = self.getBuildDir()
         if os.path.isdir(bdir):
             shutil.rmtree(bdir)

diff  --git a/lldb/packages/Python/lldbsuite/test/plugins/builder_base.py b/lldb/packages/Python/lldbsuite/test/plugins/builder_base.py
index 3c19839869c4..e54431eb1fe7 100644
--- a/lldb/packages/Python/lldbsuite/test/plugins/builder_base.py
+++ b/lldb/packages/Python/lldbsuite/test/plugins/builder_base.py
@@ -63,11 +63,10 @@ def getMake(test_subdir, test_name):
     # Construct the base make invocation.
     lldb_test = os.environ["LLDB_TEST"]
     lldb_test_src = os.environ["LLDB_TEST_SRC"]
-    lldb_build = os.environ["LLDB_BUILD"]
-    if not (lldb_test and lldb_test_src and lldb_build and test_subdir and
+    if not (lldb_test and lldb_test_src and configuration.test_build_dir and test_subdir and
             test_name and (not os.path.isabs(test_subdir))):
         raise Exception("Could not derive test directories")
-    build_dir = os.path.join(lldb_build, test_subdir, test_name)
+    build_dir = os.path.join(configuration.test_build_dir, test_subdir, test_name)
     src_dir = os.path.join(lldb_test_src, test_subdir)
     # This is a bit of a hack to make inline testcases work.
     makefile = os.path.join(src_dir, "Makefile")
@@ -111,18 +110,18 @@ def getDsymutilSpec():
     Helper function to return the key-value string to specify the dsymutil
     used for the make system.
     """
-    if "DSYMUTIL" in os.environ:
-        return "DSYMUTIL={}".format(os.environ["DSYMUTIL"])
-    return "";
+    if configuration.dsymutil:
+        return "DSYMUTIL={}".format(configuration.dsymutil)
+    return ""
 
 def getSDKRootSpec():
     """
     Helper function to return the key-value string to specify the SDK root
     used for the make system.
     """
-    if "SDKROOT" in os.environ:
-        return "SDKROOT={}".format(os.environ["SDKROOT"])
-    return "";
+    if configuration.sdkroot:
+        return "SDKROOT={}".format(configuration.sdkroot)
+    return ""
 
 def getModuleCacheSpec():
     """
@@ -132,7 +131,7 @@ def getModuleCacheSpec():
     if configuration.clang_module_cache_dir:
         return "CLANG_MODULE_CACHE_DIR={}".format(
             configuration.clang_module_cache_dir)
-    return "";
+    return ""
 
 def getCmdLine(d):
     """


        


More information about the lldb-commits mailing list