1c22811bbSZachary Turnerimport inspect 2c22811bbSZachary Turnerimport os 3c22811bbSZachary Turnerimport sys 4c22811bbSZachary Turner 5b9c1b51eSKate Stone 6c22811bbSZachary Turnerdef find_lldb_root(): 7c22811bbSZachary Turner lldb_root = os.path.dirname(inspect.getfile(inspect.currentframe())) 8c22811bbSZachary Turner while True: 967f6d842SPavel Labath parent = os.path.dirname(lldb_root) 1067f6d842SPavel Labath if parent == lldb_root: # dirname('/') == '/' 11cf3f100fSJordan Rupprecht raise Exception("use_lldb_suite_root.py not found") 1267f6d842SPavel Labath lldb_root = parent 13c22811bbSZachary Turner 144c152690SZachary Turner test_path = os.path.join(lldb_root, "use_lldb_suite_root.py") 15c22811bbSZachary Turner if os.path.isfile(test_path): 16c22811bbSZachary Turner return lldb_root 17c22811bbSZachary Turner 18602e47c5SDavid Spickett 19c22811bbSZachary Turnerlldb_root = find_lldb_root() 20602e47c5SDavid Spickett 21*2260ebf7STulio Magno Quites Machado Filhoimport importlib.machinery 22*2260ebf7STulio Magno Quites Machado Filhoimport importlib.util 23*2260ebf7STulio Magno Quites Machado Filho 24*2260ebf7STulio Magno Quites Machado Filhopath = os.path.join(lldb_root, "use_lldb_suite_root.py") 25*2260ebf7STulio Magno Quites Machado Filholoader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) 26*2260ebf7STulio Magno Quites Machado Filhospec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) 27*2260ebf7STulio Magno Quites Machado Filhomodule = importlib.util.module_from_spec(spec) 28*2260ebf7STulio Magno Quites Machado Filholoader.exec_module(module) 29