Index: lldb_shared_base.py =================================================================== --- /dev/null +++ lldb_shared_base.py @@ -0,0 +1,15 @@ +import inspect +import os +import sys + +def add_third_party_module_dirs(lldb_root): + third_party_modules_dir = os.path.join(lldb_root, "third_party", "Python", "module") + if not os.path.isdir(third_party_modules_dir): + return + + module_dirs = os.listdir(third_party_modules_dir) + for module_dir in module_dirs: + module_dir = os.path.join(third_party_modules_dir, module_dir) + sys.path.append(module_dir) +lldb_root = os.path.dirname(inspect.getfile(inspect.currentframe())) +add_third_party_module_dirs(lldb_root) Index: test/dotest.py =================================================================== --- test/dotest.py +++ test/dotest.py @@ -22,6 +22,8 @@ from __future__ import print_function +import lldb_shared + import atexit import commands import importlib @@ -40,6 +42,8 @@ import unittest2 import lldbtest_config +import six + def is_exe(fpath): """Returns true if fpath is an executable.""" Index: test/lldb_shared.py =================================================================== --- /dev/null +++ test/lldb_shared.py @@ -0,0 +1,21 @@ +import os +import sys + +def find_lldb_root(): + lldb_root = os.getcwd() + while True: + lldb_root = os.path.dirname(lldb_root) + if lldb_root is None: + return None + + test_path = os.path.join(lldb_root, "lldb.root") + if os.path.isfile(test_path): + return lldb_root + return None + +lldb_root = find_lldb_root() +if lldb_root is not None: + import imp + module = imp.find_module("lldb_shared_base", [lldb_root]) + if module is not None: + imp.load_module("lldb_shared_base", *module) \ No newline at end of file