[Lldb-commits] [lldb] r370278 - [dotest] Make dotest.py invocation repeatable

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 28 16:54:23 PDT 2019


Author: jdevlieghere
Date: Wed Aug 28 16:54:23 2019
New Revision: 370278

URL: http://llvm.org/viewvc/llvm-project?rev=370278&view=rev
Log:
[dotest] Make dotest.py invocation repeatable

This removes support for reading the LLDB_TEST_ARGUMENTS environment
variable and instead requires all arguments to be specified as part of
the invocation. This ensures that dotest.py invocations are easily
repeatable.

Differential revision: https://reviews.llvm.org/D66912

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/dotest.py
    lldb/trunk/packages/Python/lldbsuite/test/dotest_args.py

Modified: lldb/trunk/packages/Python/lldbsuite/test/dotest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dotest.py?rev=370278&r1=370277&r2=370278&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/dotest.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/dotest.py Wed Aug 28 16:54:23 2019
@@ -48,6 +48,9 @@ from . import test_result
 from lldbsuite.test_event.event_builder import EventBuilder
 from ..support import seven
 
+def get_dotest_invocation():
+    return ' '.join(sys.argv)
+
 
 def is_exe(fpath):
     """Returns true if fpath is an executable."""
@@ -228,9 +231,9 @@ def parseOptionsAndInitTestdirs():
 
     try:
         parser = dotest_args.create_parser()
-        args = dotest_args.parse_args(parser, sys.argv[1:])
+        args = parser.parse_args()
     except:
-        print(' '.join(sys.argv))
+        print(get_dotest_invocation())
         raise
 
     if args.unset_env_varnames:
@@ -255,7 +258,7 @@ def parseOptionsAndInitTestdirs():
 
     # Only print the args if being verbose.
     if args.v and not args.q:
-        print(sys.argv)
+        print(get_dotest_invocation())
 
     if args.h:
         do_help = True
@@ -824,9 +827,6 @@ def lldbLoggings():
                 'log enable failed (check GDB_REMOTE_LOG env variable)')
 
 
-def getMyCommandLine():
-    return ' '.join(sys.argv)
-
 # ======================================== #
 #                                          #
 # Execution of the test driver starts here #
@@ -1113,7 +1113,7 @@ def run_suite():
         "\nSession logs for test failures/errors/unexpected successes"
         " will go into directory '%s'\n" %
         configuration.sdir_name)
-    sys.stderr.write("Command invoked: %s\n" % getMyCommandLine())
+    sys.stderr.write("Command invoked: %s\n" % get_dotest_invocation())
 
     #
     # Invoke the default TextTestRunner to run the test suite

Modified: lldb/trunk/packages/Python/lldbsuite/test/dotest_args.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dotest_args.py?rev=370278&r1=370277&r2=370278&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/dotest_args.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/dotest_args.py Wed Aug 28 16:54:23 2019
@@ -7,32 +7,10 @@ import sys
 import os
 import textwrap
 
-# Third-party modules
-
 # LLDB modules
 from . import configuration
 
 
-class ArgParseNamespace(object):
-    pass
-
-
-def parse_args(parser, argv):
-    """ Returns an argument object. LLDB_TEST_ARGUMENTS environment variable can
-        be used to pass additional arguments.
-    """
-    args = ArgParseNamespace()
-
-    if ('LLDB_TEST_ARGUMENTS' in os.environ):
-        print(
-            "Arguments passed through environment: '%s'" %
-            os.environ['LLDB_TEST_ARGUMENTS'])
-        args = parser.parse_args([sys.argv[0]].__add__(
-            os.environ['LLDB_TEST_ARGUMENTS'].split()), namespace=args)
-
-    return parser.parse_args(args=argv, namespace=args)
-
-
 def create_parser():
     parser = argparse.ArgumentParser(
         description='description',




More information about the lldb-commits mailing list