summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/macosx/safe-to-func-call
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/macosx/safe-to-func-call')
-rw-r--r--packages/Python/lldbsuite/test/macosx/safe-to-func-call/Makefile5
-rw-r--r--packages/Python/lldbsuite/test/macosx/safe-to-func-call/TestSafeFuncCalls.py73
-rw-r--r--packages/Python/lldbsuite/test/macosx/safe-to-func-call/main.c31
3 files changed, 0 insertions, 109 deletions
diff --git a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/Makefile b/packages/Python/lldbsuite/test/macosx/safe-to-func-call/Makefile
deleted file mode 100644
index 0d70f25950192..0000000000000
--- a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../make
-
-C_SOURCES := main.c
-
-include $(LEVEL)/Makefile.rules
diff --git a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/TestSafeFuncCalls.py b/packages/Python/lldbsuite/test/macosx/safe-to-func-call/TestSafeFuncCalls.py
deleted file mode 100644
index 314084d0b1584..0000000000000
--- a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/TestSafeFuncCalls.py
+++ /dev/null
@@ -1,73 +0,0 @@
-"""Test function call thread safety."""
-
-from __future__ import print_function
-
-
-import os
-import time
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-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):
- """Test function call thread safety."""
- self.build()
- exe = self.getBuildArtifact("a.out")
-
- target = self.dbg.CreateTarget(exe)
- self.assertTrue(target, VALID_TARGET)
- self.main_source_spec = lldb.SBFileSpec(self.main_source)
- 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.check_number_of_threads(process)
-
- main_thread = lldb.SBThread()
- select_thread = lldb.SBThread()
- for idx in range(0, process.GetNumThreads()):
- t = process.GetThreadAtIndex(idx)
- if t.GetName() == "main thread":
- main_thread = t
- if t.GetName() == "select thread":
- select_thread = t
-
- self.assertTrue(
- 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")
diff --git a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/main.c b/packages/Python/lldbsuite/test/macosx/safe-to-func-call/main.c
deleted file mode 100644
index 586500876288a..0000000000000
--- a/packages/Python/lldbsuite/test/macosx/safe-to-func-call/main.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <sys/time.h> // work around module map issue with iOS sdk, <rdar://problem/35159346>
-#include <sys/select.h>
-#include <stdio.h>
-#include <pthread.h>
-#include <unistd.h>
-
-void *
-select_thread (void *in)
-{
- pthread_setname_np ("select thread");
- fd_set fdset;
- FD_SET (STDIN_FILENO, &fdset);
- while (1)
- select (2, &fdset, NULL, NULL, NULL);
- return NULL;
-}
-
-void stopper ()
-{
- while (1)
- sleep(1); // break here
-}
-
-int main ()
-{
- pthread_setname_np ("main thread");
- pthread_t other_thread;
- pthread_create (&other_thread, NULL, select_thread, NULL);
- sleep (1);
- stopper();
-}