Skip to content

Commit

Permalink
[lldb][NFC] Refactor TestSafeFuncCalls.py
Browse files Browse the repository at this point in the history
Summary:
This patch inlines all the single-line functions that we only use once in the test
and replaces the assertTrue with an assertEquals to improve the error message
when this test fails.

Reviewers: JDevlieghere

Reviewed By: JDevlieghere

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D75497
  • Loading branch information
Teemperor committed Mar 6, 2020
1 parent 7264cf4 commit 53b135e
Showing 1 changed file with 5 additions and 21 deletions.
26 changes: 5 additions & 21 deletions lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
Expand Up @@ -12,12 +12,6 @@ class TestSafeFuncCalls(TestBase):

mydir = TestBase.compute_mydir(__file__)

def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line numbers that we will step to in main:
self.main_source = "main.c"

@skipUnlessDarwin
@add_test_categories(['pyapi'])
def test_with_python_api(self):
Expand All @@ -27,17 +21,18 @@ def test_with_python_api(self):

target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
self.main_source_spec = lldb.SBFileSpec(self.main_source)
self.main_source_spec = lldb.SBFileSpec("main.c")
break1 = target.BreakpointCreateByName("stopper", 'a.out')
self.assertTrue(break1, VALID_BREAKPOINT)
process = target.LaunchSimple(
None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
threads = lldbutil.get_threads_stopped_at_breakpoint(process, break1)
if len(threads) != 1:
self.fail("Failed to stop at breakpoint 1.")
self.assertEqual(len(threads), 1, "Failed to stop at breakpoint 1.")

self.check_number_of_threads(process)
self.assertEqual(
process.GetNumThreads(), 2,
"Check that the process has two threads when sitting at the stopper() breakpoint")

main_thread = lldb.SBThread()
select_thread = lldb.SBThread()
Expand All @@ -52,19 +47,8 @@ def test_with_python_api(self):
main_thread.IsValid() and select_thread.IsValid(),
"Got both expected threads")

self.safe_to_call_func_on_main_thread(main_thread)
self.safe_to_call_func_on_select_thread(select_thread)

def check_number_of_threads(self, process):
self.assertTrue(
process.GetNumThreads() == 2,
"Check that the process has two threads when sitting at the stopper() breakpoint")

def safe_to_call_func_on_main_thread(self, main_thread):
self.assertTrue(main_thread.SafeToCallFunctions(),
"It is safe to call functions on the main thread")

def safe_to_call_func_on_select_thread(self, select_thread):
self.assertTrue(
select_thread.SafeToCallFunctions() == False,
"It is not safe to call functions on the select thread")

0 comments on commit 53b135e

Please sign in to comment.