summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/dosep.py10
-rw-r--r--lldb/packages/Python/lldbsuite/test/test_runner/__init__.py0
-rw-r--r--lldb/packages/Python/lldbsuite/test/test_runner/lib/lldb_utils.py66
-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__.py0
-rwxr-xr-xlldb/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)
OpenPOWER on IntegriCloud