aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api
diff options
context:
space:
mode:
authorMed Ismail Bennani <medismail.bennani@gmail.com>2021-02-01 11:14:10 +0000
committerMed Ismail Bennani <medismail.bennani@gmail.com>2021-02-01 12:16:33 +0100
commitb8923c002207da449ec462ade468e27a651b1f91 (patch)
tree04fcc3ad1469e6287df24665e0e37ecd6473c06f /lldb/test/API/python_api
parent94fac81fccfef9917e94bed398781744fb82e159 (diff)
downloadllvm-b8923c002207da449ec462ade468e27a651b1f91.zip
llvm-b8923c002207da449ec462ade468e27a651b1f91.tar.gz
llvm-b8923c002207da449ec462ade468e27a651b1f91.tar.bz2
[lldb/API] Expose Module::IsLoadedInTarget() to SB API (NFC)
This patch adds an `SBTarget::IsLoaded(const SBModule&) const` endpoint to lldb's Scripting Bridge API. As the name suggests, it will allow the user to know if the module is loaded in a specific target. rdar://37957625 Differential Review: https://reviews.llvm.org/D95686 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
Diffstat (limited to 'lldb/test/API/python_api')
-rw-r--r--lldb/test/API/python_api/target/TestTargetAPI.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/lldb/test/API/python_api/target/TestTargetAPI.py b/lldb/test/API/python_api/target/TestTargetAPI.py
index 12c9d9d..c444b44 100644
--- a/lldb/test/API/python_api/target/TestTargetAPI.py
+++ b/lldb/test/API/python_api/target/TestTargetAPI.py
@@ -489,3 +489,27 @@ class TargetAPITestCase(TestBase):
target3 = self.dbg.CreateTargetWithFileAndTargetTriple(exe, target.GetTriple())
self.assertTrue(target3.IsValid())
+
+ @add_test_categories(['pyapi'])
+ def test_is_loaded(self):
+ """Exercise SBTarget.IsLoaded(SBModule&) API."""
+ d = {'EXE': 'b.out'}
+ self.build(dictionary=d)
+ self.setTearDownCleanup(dictionary=d)
+ target = self.create_simple_target('b.out')
+
+ self.assertFalse(target.IsLoaded(lldb.SBModule()))
+
+ num_modules = target.GetNumModules()
+ for i in range(num_modules):
+ module = target.GetModuleAtIndex(i)
+ self.assertFalse(target.IsLoaded(module), "Target that isn't "
+ "running shouldn't have any module loaded.")
+
+ process = target.LaunchSimple(None, None,
+ self.get_process_working_directory())
+
+ for i in range(num_modules):
+ module = target.GetModuleAtIndex(i)
+ self.assertTrue(target.IsLoaded(module), "Running the target should "
+ "have loaded its modules.")