diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/dosep.py | 10 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/test_runner/__init__.py | 0 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/test_runner/lib/lldb_utils.py | 66 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/test_runner/process_control.py (renamed from lldb/packages/Python/lldbsuite/test/test_runner/lib/process_control.py) | 0 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/test_runner/test/__init__.py | 0 | ||||
-rwxr-xr-x | lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py (renamed from lldb/packages/Python/lldbsuite/test/test_runner/test/process_control_tests.py) | 13 |
6 files changed, 11 insertions, 78 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/dosep.py b/lldb/packages/Python/lldbsuite/test/dosep.py index 69e85bdd9e3..e58bcaf9574 100644 --- a/lldb/packages/Python/lldbsuite/test/dosep.py +++ b/lldb/packages/Python/lldbsuite/test/dosep.py @@ -52,6 +52,7 @@ from six.moves import queue import lldbsuite import lldbsuite.support.seven as seven +from lldbsuite.support import optional_with from . import configuration from . import dotest_channels from . import dotest_args @@ -59,12 +60,7 @@ from . import result_formatter from .result_formatter import EventBuilder - -# Todo: Convert this folder layout to be relative-import friendly and -# don't hack up sys.path like this -sys.path.append(os.path.join(os.path.dirname(__file__), "test_runner", "lib")) -import lldb_utils -import process_control +from .test_runner import process_control # Status codes for running command with timeout. eTimedOut, ePassed, eFailed = 124, 0, 1 @@ -177,7 +173,7 @@ class DoTestProcessDriver(process_control.ProcessDriver): super(DoTestProcessDriver, self).__init__( soft_terminate_timeout=soft_terminate_timeout) self.output_file = output_file - self.output_lock = lldb_utils.OptionalWith(output_file_lock) + self.output_lock = optional_with.optional_with(output_file_lock) self.pid_events = pid_events self.results = None self.file_name = file_name diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/__init__.py b/lldb/packages/Python/lldbsuite/test/test_runner/__init__.py new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/test_runner/__init__.py diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/lib/lldb_utils.py b/lldb/packages/Python/lldbsuite/test/test_runner/lib/lldb_utils.py deleted file mode 100644 index e469bbf1220..00000000000 --- a/lldb/packages/Python/lldbsuite/test/test_runner/lib/lldb_utils.py +++ /dev/null @@ -1,66 +0,0 @@ -""" -The LLVM Compiler Infrastructure - -This file is distributed under the University of Illinois Open Source -License. See LICENSE.TXT for details. - -Provides classes used by the test results reporting infrastructure -within the LLDB test suite. - - -This module contains utilities used by the lldb test framwork. -""" - - -class OptionalWith(object): - # pylint: disable=too-few-public-methods - # This is a wrapper - it is not meant to provide any extra methods. - """Provides a wrapper for objects supporting "with", allowing None. - - This lets a user use the "with object" syntax for resource usage - (e.g. locks) even when the wrapped with object is None. - - e.g. - - wrapped_lock = OptionalWith(thread.Lock()) - with wrapped_lock: - # Do something while the lock is obtained. - pass - - might_be_none = None - wrapped_none = OptionalWith(might_be_none) - with wrapped_none: - # This code here still works. - pass - - This prevents having to write code like this when - a lock is optional: - - if lock: - lock.acquire() - - try: - code_fragament_always_run() - finally: - if lock: - lock.release() - - And I'd posit it is safer, as it becomes impossible to - forget the try/finally using OptionalWith(), since - the with syntax can be used. - """ - def __init__(self, wrapped_object): - self.wrapped_object = wrapped_object - - def __enter__(self): - if self.wrapped_object is not None: - return self.wrapped_object.__enter__() - else: - return self - - def __exit__(self, the_type, value, traceback): - if self.wrapped_object is not None: - return self.wrapped_object.__exit__(the_type, value, traceback) - else: - # Don't suppress any exceptions - return False diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/lib/process_control.py b/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py index a7e639e4b8b..a7e639e4b8b 100644 --- a/lldb/packages/Python/lldbsuite/test/test_runner/lib/process_control.py +++ b/lldb/packages/Python/lldbsuite/test/test_runner/process_control.py diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/test/__init__.py b/lldb/packages/Python/lldbsuite/test/test_runner/test/__init__.py new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/test_runner/test/__init__.py diff --git a/lldb/packages/Python/lldbsuite/test/test_runner/test/process_control_tests.py b/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py index 354506d6581..817c83c4fb5 100755 --- a/lldb/packages/Python/lldbsuite/test/test_runner/test/process_control_tests.py +++ b/lldb/packages/Python/lldbsuite/test/test_runner/test/test_process_control.py @@ -12,18 +12,18 @@ within the LLDB test suite. Tests the process_control module. """ +from __future__ import print_function + # System imports. import os +import os.path import platform import unittest import sys import threading -# Add lib dir to pythonpath -sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'lib')) - # Our imports. -import process_control +from test_runner import process_control class TestInferiorDriver(process_control.ProcessDriver): @@ -77,7 +77,10 @@ class ProcessControlTests(unittest.TestCase): options=None): # Base command. - command = ([sys.executable, "inferior.py"]) + script_name = "{}/inferior.py".format(os.path.dirname(__file__)) + if not os.path.exists(script_name): + raise Exception("test inferior python script not found: {}".format(script_name)) + command = ([sys.executable, script_name]) if ignore_soft_terminate: cls._suppress_soft_terminate(command) |