class ConcurrentTwoWatchpointsOneBreakpoint(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @expectedFailureAll(triple='^mips')
    def test_two_watchpoints_one_breakpoint(self):
        """Test two threads that trigger a watchpoint and one breakpoint thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(
            num_watchpoint_threads=2,
            num_breakpoint_threads=1)
class ConcurrentManySignals(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    # This test is flaky on Darwin.
    @skipIfDarwin
    @expectedFailureNetBSD
    @skipIfOutOfTreeDebugserver
    def test(self):
        """Test 100 signals from 100 threads."""
        self.build()
        self.do_thread_actions(num_signal_threads=100)
Beispiel #3
0
class ConcurrentTwoWatchpointsOneSignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureAll(bugnumber="llvm.org/pr35228", archs=["arm", "aarch64"])
    @expectedFailureNetBSD
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test two threads that trigger a watchpoint and one signal thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=2, num_signal_threads=1)
Beispiel #4
0
class ConcurrentNWatchNBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test with 5 watchpoint and breakpoint threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=5,
                               num_breakpoint_threads=5)
class ConcurrentSignalDelayWatch(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    @expectedFailureAll(
        triple='^mips'
    )  # Atomic sequences are not supported yet for MIPS in LLDB.
    def test_signal_delay_watch(self):
        """Test a (1 second delay) watchpoint and a signal in multiple threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_signal_threads=1,
                               num_delay_watchpoint_threads=1)
Beispiel #6
0
class ConcurrentCrashWithWatchpointBreakpointSignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @add_test_categories(["watchpoint"])
    def test(self):
        """ Test a thread that crashes while other threads generate a signal and hit a watchpoint and breakpoint. """
        self.build()
        self.do_thread_actions(num_crash_threads=1,
                               num_breakpoint_threads=1,
                               num_signal_threads=1,
                               num_watchpoint_threads=1)
class ConcurrentSignalWatchBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureNetBSD
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test a signal/watchpoint/breakpoint in multiple threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_signal_threads=1,
                               num_watchpoint_threads=1,
                               num_breakpoint_threads=1)
Beispiel #8
0
class ConcurrentSignalWatch(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://93863107")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test a watchpoint and a signal in multiple threads."""
        self.build()
        self.do_thread_actions(num_signal_threads=1, num_watchpoint_threads=1)
Beispiel #9
0
class ConcurrentBreakpointDelayBreakpointOneSignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @expectedFailureAll(
        triple='^mips'
    )  # Atomic sequences are not supported yet for MIPS in LLDB.
    def test_breakpoint_delay_breakpoint_one_signal(self):
        """Test two threads that trigger a breakpoint (one with a 1 second delay) and one signal thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_breakpoint_threads=1,
                               num_delay_breakpoint_threads=1,
                               num_signal_threads=1)
class ConcurrentTwoWatchpointThreads(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://81811539")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test two threads that trigger a watchpoint. """
        self.build()
        self.do_thread_actions(num_watchpoint_threads=2)
class ConcurrentManyBreakpoints(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @skipIfOutOfTreeDebugserver
    @expectedFailureAll(archs=["aarch64"],
                        oslist=["freebsd"],
                        bugnumber="llvm.org/pr49433")
    def test(self):
        """Test 100 breakpoints from 100 threads."""
        self.build()
        self.do_thread_actions(num_breakpoint_threads=100)
class ConcurrentWatchpointWithDelayWatchpointThreads(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test two threads that trigger a watchpoint where one thread has a 1 second delay. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=1,
                               num_delay_watchpoint_threads=1)
Beispiel #13
0
class ConcurrentDelayWatchBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    def test_delay_watch_break(self):
        """Test (1-second delay) watchpoint and a breakpoint in multiple threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(
            num_breakpoint_threads=1,
            num_delay_watchpoint_threads=1)
class ConcurrentTwoWatchpointsOneDelayBreakpoint(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureNetBSD
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test two threads that trigger a watchpoint and one (1 second delay) breakpoint thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=2,
                               num_delay_breakpoint_threads=1)
class ConcurrentNWatchNBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureAll(archs=["aarch64"],
                        oslist=["freebsd"],
                        bugnumber="llvm.org/pr49433")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test with 5 watchpoint and breakpoint threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=5,
                               num_breakpoint_threads=5)
Beispiel #16
0
class ConcurrentDelayWatchBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://81811539")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test (1-second delay) watchpoint and a breakpoint in multiple threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_breakpoint_threads=1,
                               num_delay_watchpoint_threads=1)
class ConcurrentBreakpointsDelayedBreakpointOneWatchpoint(
        ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @expectedFailureAll(triple='^mips')
    def test_breakpoints_delayed_breakpoint_one_watchpoint(self):
        """Test a breakpoint, a delayed breakpoint, and one watchpoint thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_breakpoint_threads=1,
                               num_delay_breakpoint_threads=1,
                               num_watchpoint_threads=1)
Beispiel #18
0
class ConcurrentTwoWatchpointsOneSignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureNetBSD
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://81811539")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test two threads that trigger a watchpoint and one signal thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_watchpoint_threads=2, num_signal_threads=1)
class ConcurrentTwoBreakpointsOneDelaySignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFlakeyNetBSD
    @expectedFailureAll(archs=["aarch64"],
                        oslist=["freebsd"],
                        bugnumber="llvm.org/pr49433")
    def test(self):
        """Test two threads that trigger a breakpoint and one (1 second delay) signal thread. """
        self.build()
        self.do_thread_actions(num_breakpoint_threads=2,
                               num_delay_signal_threads=1)
Beispiel #20
0
class ConcurrentBreakpointsDelayedBreakpointOneWatchpoint(
        ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test a breakpoint, a delayed breakpoint, and one watchpoint thread. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_breakpoint_threads=1,
                               num_delay_breakpoint_threads=1,
                               num_watchpoint_threads=1)
Beispiel #21
0
class ConcurrentCrashWithWatchpointBreakpointSignal(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    def test(self):
        """ Test a thread that crashes while other threads generate a signal and hit a watchpoint and breakpoint. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_crash_threads=1,
                               num_breakpoint_threads=1,
                               num_signal_threads=1,
                               num_watchpoint_threads=1)
Beispiel #22
0
class ConcurrentManyWatchpoints(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://93863107")
    @add_test_categories(["watchpoint"])
    @skipIfOutOfTreeDebugserver
    def test(self):
        """Test 100 watchpoints from 100 threads."""
        self.build()
        self.do_thread_actions(num_watchpoint_threads=100)
class ConcurrentTwoBreakpointsOneWatchpoint(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @add_test_categories(["watchpoint"])
    @expectedFailureAll(archs=["aarch64"],
                        oslist=["freebsd"],
                        bugnumber="llvm.org/pr49433")
    def test(self):
        """Test two threads that trigger a breakpoint and one watchpoint thread. """
        self.build()
        self.do_thread_actions(num_breakpoint_threads=2,
                               num_watchpoint_threads=1)
Beispiel #24
0
class ConcurrentDelayedCrashWithBreakpointWatchpoint(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureNetBSD
    @add_test_categories(["watchpoint"])
    def test(self):
        """ Test a thread with a delayed crash while other threads hit a watchpoint and a breakpoint. """
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_delay_crash_threads=1,
                               num_breakpoint_threads=1,
                               num_watchpoint_threads=1)
class ConcurrentSignalNWatchNBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    @skipIfFreeBSD  # timing out on buildbot
    @skipIfRemoteDueToDeadlock
    @expectedFailureAll(
        triple='^mips'
    )  # Atomic sequences are not supported yet for MIPS in LLDB.
    def test_signal_n_watch_n_break(self):
        """Test one signal thread with 5 watchpoint and breakpoint threads."""
        self.build(dictionary=self.getBuildFlags())
        self.do_thread_actions(num_signal_threads=1,
                               num_watchpoint_threads=5,
                               num_breakpoint_threads=5)
Beispiel #26
0
class ConcurrentNWatchNBreak(ConcurrentEventsBase):

    mydir = ConcurrentEventsBase.compute_mydir(__file__)

    # Atomic sequences are not supported yet for MIPS in LLDB.
    @skipIf(triple='^mips')
    @expectedFailureAll(archs=["aarch64"],
                        oslist=["freebsd"],
                        bugnumber="llvm.org/pr49433")
    @skipIf(oslist=["ios", "watchos", "tvos", "bridgeos", "macosx"],
            archs=['arm64', 'arm64e', 'arm64_32', 'arm'],
            bugnumber="rdar://93863107")
    @add_test_categories(["watchpoint"])
    def test(self):
        """Test with 5 watchpoint and breakpoint threads."""
        self.build()
        self.do_thread_actions(num_watchpoint_threads=5,
                               num_breakpoint_threads=5)