summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-11-05 19:22:28 +0000
committerZachary Turner <zturner@google.com>2015-11-05 19:22:28 +0000
commitc1b7cd72db41c14a4f8d7df2c06bc908e2f0bae5 (patch)
treeab8840e262dc2d898cb8df2eb36ebbe7b427b527 /lldb/packages/Python/lldbsuite/test
parent185a7aaddacff4b7c846b5946c244d6fabdefa32 (diff)
downloadbcm5719-llvm-c1b7cd72db41c14a4f8d7df2c06bc908e2f0bae5.tar.gz
bcm5719-llvm-c1b7cd72db41c14a4f8d7df2c06bc908e2f0bae5.zip
Python 3 - Turn on absolute imports, and fix existing imports.
Absolute imports were introduced in Python 2.5 as a feature (e.g. from __future__ import absolute_import), and made default in Python 3. When absolute imports are enabled, the import system changes in a couple of ways: 1) The `import foo` syntax will *only* search sys.path. If `foo` isn't in sys.path, it won't be found. Period. Without absolute imports, the import system will also search the same directory that the importing file resides in, so that you can easily import from the same folder. 2) From inside a package, you can use a dot syntax to refer to higher levels of the current package. For example, if you are in the package lldbsuite.test.utility, then ..foo refers to lldbsuite.test.foo. You can use this notation with the `from X import Y` syntax to write intra-package references. For example, using the previous locationa s a starting point, writing `from ..support import seven` would import lldbsuite.support.seven Since this is now the default behavior in Python 3, this means that importing from the same directory with `import foo` *no longer works*. As a result, the only way to have portable code is to force absolute imports for all versions of Python. See PEP 0328 [https://www.python.org/dev/peps/pep-0328/] for more information about absolute and relative imports. Differential Revision: http://reviews.llvm.org/D14342 Reviewed By: Todd Fiala llvm-svn: 252191
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/__init__.py4
-rw-r--r--lldb/packages/Python/lldbsuite/test/bench.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/curses_results.py8
-rw-r--r--lldb/packages/Python/lldbsuite/test/dosep.py17
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest.py26
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest_args.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest_channels.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbbench.py10
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbcurses.py12
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbinline.py12
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbpexpect.py14
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbplatformutil.py8
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py25
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbutil.py15
-rw-r--r--lldb/packages/Python/lldbsuite/test/test_categories.py7
-rw-r--r--lldb/packages/Python/lldbsuite/test/test_results.py6
17 files changed, 130 insertions, 53 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/__init__.py b/lldb/packages/Python/lldbsuite/test/__init__.py
index e9277b84b47..57659f5d9c2 100644
--- a/lldb/packages/Python/lldbsuite/test/__init__.py
+++ b/lldb/packages/Python/lldbsuite/test/__init__.py
@@ -1,4 +1,6 @@
# Module level initialization for the `lldbsuite.test` module.
-import dotest
+from __future__ import absolute_import
+
+from . import dotest
run_suite = dotest.run_suite
diff --git a/lldb/packages/Python/lldbsuite/test/bench.py b/lldb/packages/Python/lldbsuite/test/bench.py
index 664aa3a93b8..ce9c2e75d71 100644
--- a/lldb/packages/Python/lldbsuite/test/bench.py
+++ b/lldb/packages/Python/lldbsuite/test/bench.py
@@ -15,6 +15,7 @@ See also bench-history.
"""
from __future__ import print_function
+from __future__ import absolute_import
import os, sys
import re
diff --git a/lldb/packages/Python/lldbsuite/test/curses_results.py b/lldb/packages/Python/lldbsuite/test/curses_results.py
index f2a60c65f30..e00e26556db 100644
--- a/lldb/packages/Python/lldbsuite/test/curses_results.py
+++ b/lldb/packages/Python/lldbsuite/test/curses_results.py
@@ -10,15 +10,21 @@ Configuration options for lldbtest.py set by dotest.py during initialization
"""
from __future__ import print_function
+from __future__ import absolute_import
+# System modules
import curses
import datetime
-import lldbcurses
import math
import sys
import test_results
import time
+# Third-party modules
+
+# LLDB modules
+from . import lldbcurses
+
class Curses(test_results.ResultsFormatter):
"""Receives live results from tests that are running and reports them to the terminal in a curses GUI"""
diff --git a/lldb/packages/Python/lldbsuite/test/dosep.py b/lldb/packages/Python/lldbsuite/test/dosep.py
index 710be296455..08da003e9b5 100644
--- a/lldb/packages/Python/lldbsuite/test/dosep.py
+++ b/lldb/packages/Python/lldbsuite/test/dosep.py
@@ -33,8 +33,7 @@ echo core.%p | sudo tee /proc/sys/kernel/core_pattern
"""
from __future__ import print_function
-
-
+from __future__ import absolute_import
# system packages and modules
import asyncore
@@ -51,15 +50,17 @@ import threading
from six.moves import queue
-# Add our local test_runner/lib dir to the python path.
-sys.path.append(os.path.join(os.path.dirname(__file__), "test_runner", "lib"))
-
# Our packages and modules
-import dotest_channels
-import dotest_args
+import lldbsuite.support.seven as seven
+
+from . import dotest_channels
+from . import dotest_args
+
+# 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
-import lldbsuite.support.seven as seven
# Status codes for running command with timeout.
eTimedOut, ePassed, eFailed = 124, 0, 1
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index aec1762a729..0799ac789de 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -18,16 +18,14 @@ Type:
for available options.
"""
+from __future__ import absolute_import
from __future__ import print_function
-import sys
-
-import lldbsuite
-import lldbtest_config
+# System modules
+import sys
import atexit
import importlib
import os
-import dotest_args
import errno
import platform
import progress
@@ -35,14 +33,20 @@ import signal
import socket
import subprocess
import sys
-import test_results
-from test_results import EventBuilder
import inspect
-import unittest2
-import test_categories
+# Third-party modules
import six
-import lldbsuite.support.seven as seven
+import unittest2
+
+# LLDB Modules
+import lldbsuite
+from . import dotest_args
+from . import lldbtest_config
+from . import test_categories
+from . import test_results
+from .test_results import EventBuilder
+from ..support import seven
def is_exe(fpath):
"""Returns true if fpath is an executable."""
@@ -1470,7 +1474,7 @@ def run_suite():
# If we are running as the multiprocess test runner, kick off the
# multiprocess test runner here.
if isMultiprocessTestRunner():
- import dosep
+ from . import dosep
dosep.main(output_on_success, num_threads, multiprocess_test_subdir,
test_runner_name, results_formatter_object)
raise Exception("should never get here")
diff --git a/lldb/packages/Python/lldbsuite/test/dotest_args.py b/lldb/packages/Python/lldbsuite/test/dotest_args.py
index 0caf73e1015..ecdda52a913 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest_args.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest_args.py
@@ -1,11 +1,17 @@
from __future__ import print_function
+from __future__ import absolute_import
+# System modules
import argparse
import sys
import multiprocessing
import os
import textwrap
+# Third-party modules
+
+# LLDB modules
+
class ArgParseNamespace(object):
pass
diff --git a/lldb/packages/Python/lldbsuite/test/dotest_channels.py b/lldb/packages/Python/lldbsuite/test/dotest_channels.py
index 3d1fa719bbb..3797ab7697d 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest_channels.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest_channels.py
@@ -15,14 +15,18 @@ framework.
"""
from __future__ import print_function
+from __future__ import absolute_import
-
+# System modules
import asyncore
import socket
+# Third-party modules
from six.moves import cPickle
+# LLDB modules
+
class UnpicklingForwardingReaderChannel(asyncore.dispatcher):
"""Provides an unpickling, forwarding asyncore dispatch channel reader.
diff --git a/lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py b/lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
index e7674b2e8eb..341ac8e1dec 100644
--- a/lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
+++ b/lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
@@ -13,12 +13,18 @@ Provides helper support for adding lldb test paths to the python path.
"""
from __future__ import print_function
+from __future__ import absolute_import
+# System modules
import os
import platform
import subprocess
import sys
+# Third-party modules
+
+# LLDB modules
+
def add_lldb_test_paths(check_dir):
# pylint: disable=line-too-long
diff --git a/lldb/packages/Python/lldbsuite/test/lldbbench.py b/lldb/packages/Python/lldbsuite/test/lldbbench.py
index a8cbffb8cd7..6b568f87466 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbbench.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbbench.py
@@ -1,6 +1,12 @@
+from __future__ import absolute_import
+
+# System modules
import time
-#import numpy
-from lldbtest import *
+
+# Third-party modules
+
+# LLDB modules
+from .lldbtest import *
class Stopwatch(object):
"""Stopwatch provides a simple utility to start/stop your stopwatch multiple
diff --git a/lldb/packages/Python/lldbsuite/test/lldbcurses.py b/lldb/packages/Python/lldbsuite/test/lldbcurses.py
index e1fcdd1a009..bc1fbf00d37 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbcurses.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbcurses.py
@@ -1,10 +1,16 @@
+from __future__ import absolute_import
-
-import curses, curses.panel
+# System modules
+import curses
+import curses.panel
import sys
-import six
import time
+# Third-party modules
+import six
+
+# LLDB modules
+
class Point(object):
def __init__(self, x, y):
self.x = x
diff --git a/lldb/packages/Python/lldbsuite/test/lldbinline.py b/lldb/packages/Python/lldbsuite/test/lldbinline.py
index a03f3c800d5..e27cb156f05 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbinline.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbinline.py
@@ -1,11 +1,17 @@
from __future__ import print_function
+from __future__ import absolute_import
-import lldb
-from lldbtest import *
-import lldbutil
+# System modules
import os
import sys
+# Third-party modules
+
+# LLDB modules
+import lldb
+from .lldbtest import *
+from . import lldbutil
+
def source_type(filename):
_, extension = os.path.splitext(filename)
return {
diff --git a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py b/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
index 055a8ea5361..55b958a5597 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
@@ -1,14 +1,18 @@
from __future__ import print_function
+from __future__ import absolute_import
-
-
-import lldb
-from lldbtest import *
-import lldbutil
+# System modules
import os
import sys
+
+# Third-party modules
import pexpect
+# LLDB Modules
+import lldb
+from .lldbtest import *
+from . import lldbutil
+
class PExpectTest(TestBase):
mydir = TestBase.compute_mydir(__file__)
diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
index e23a0ef0efc..af5af08a86d 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -1,6 +1,14 @@
""" This module contains functions used by the test cases to hide the
architecture and/or the platform dependent nature of the tests. """
+from __future__ import absolute_import
+
+# System modules
+
+# Third-party modules
+
+# LLDB modules
+
def check_first_register_readable(test_case):
if test_case.getArchitecture() in ['x86_64', 'i386']:
test_case.expect("register read eax", substrs = ['eax = 0x'])
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 5a43cffabc3..787525af5d2 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -32,10 +32,11 @@ $
"""
from __future__ import print_function
+from __future__ import absolute_import
-
-
+# System modules
import abc
+import collections
import gc
import glob
import os, sys, traceback
@@ -45,17 +46,19 @@ import signal
from subprocess import *
import time
import types
-import unittest2
-import lldb
-import lldbtest_config
-import lldbutil
-import test_categories
+# Third-party modules
+import unittest2
from six import add_metaclass
from six import StringIO as SixStringIO
from six.moves.urllib import parse as urlparse
import six
-import collections
+
+# LLDB modules
+import lldb
+from . import lldbtest_config
+from . import lldbutil
+from . import test_categories
# dosep.py starts lots and lots of dotest instances
# This option helps you find if two (or more) dotest instances are using the same
@@ -1890,7 +1893,7 @@ class Base(unittest2.TestCase):
""" Returns a string that represents the compiler version.
Supports: llvm, clang.
"""
- from lldbutil import which
+ from .lldbutil import which
version = 'unknown'
compiler = self.getCompilerBinary()
@@ -2546,7 +2549,7 @@ class TestBase(Base):
Run the 'thread list' command, and select the thread with stop reason as
'stop_reason'. If no such thread exists, no select action is done.
"""
- from lldbutil import stop_reason_to_str
+ from .lldbutil import stop_reason_to_str
self.runCmd('thread list')
output = self.res.GetOutput()
thread_line_pattern = re.compile("^[ *] thread #([0-9]+):.*stop reason = %s" %
@@ -2801,7 +2804,7 @@ class TestBase(Base):
def DebugSBValue(self, val):
"""Debug print a SBValue object, if traceAlways is True."""
- from lldbutil import value_type_to_str
+ from .lldbutil import value_type_to_str
if not traceAlways:
return
diff --git a/lldb/packages/Python/lldbsuite/test/lldbutil.py b/lldb/packages/Python/lldbsuite/test/lldbutil.py
index 807a4e81b81..5521b80200f 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbutil.py
@@ -5,16 +5,21 @@ They can also be useful for general purpose lldb scripting.
"""
from __future__ import print_function
+from __future__ import absolute_import
-
-
-import lldb
-import os, sys
+# System modules
+import collections
+import os
import re
+import sys
+# Third-party modules
from six import StringIO as SixStringIO
import six
-import collections
+
+# LLDB modules
+import lldb
+
# ===================================================
# Utilities for locating/checking executable programs
diff --git a/lldb/packages/Python/lldbsuite/test/test_categories.py b/lldb/packages/Python/lldbsuite/test/test_categories.py
index 6fa3e4bd593..4b6096ac81e 100644
--- a/lldb/packages/Python/lldbsuite/test/test_categories.py
+++ b/lldb/packages/Python/lldbsuite/test/test_categories.py
@@ -2,8 +2,15 @@
Provides definitions for various lldb test categories
"""
+from __future__ import absolute_import
+
+# System modules
import sys
+# Third-party modules
+
+# LLDB modules
+
all_categories = {
'dataformatters': 'Tests related to the type command and the data formatters subsystem',
'expression' : 'Tests related to the expression parser',
diff --git a/lldb/packages/Python/lldbsuite/test/test_results.py b/lldb/packages/Python/lldbsuite/test/test_results.py
index 68f74d64036..6f9cefe31d6 100644
--- a/lldb/packages/Python/lldbsuite/test/test_results.py
+++ b/lldb/packages/Python/lldbsuite/test/test_results.py
@@ -9,9 +9,9 @@ within the LLDB test suite.
"""
from __future__ import print_function
+from __future__ import absolute_import
-
-
+# System modules
import argparse
import inspect
import os
@@ -23,9 +23,11 @@ import time
import traceback
import xml.sax.saxutils
+# Third-party modules
import six
from six.moves import cPickle
+# LLDB modules
class EventBuilder(object):
"""Helper class to build test result event dictionaries."""
OpenPOWER on IntegriCloud