"""Tests that an exceptional exit is detected by the testbot."""

from __future__ import print_function

import atexit
import os
import signal
import time

import lldbsuite.test.lldbtest as lldbtest


class ExceptionalExitOutOfTestMethodTestCase(lldbtest.TestBase):
    """Forces exceptional exit."""
    mydir = lldbtest.TestBase.compute_mydir(__file__)

    @lldbtest.skipIfWindows
    def test_buildbot_catches_exceptional_exit(self):
        pass

def cleanup():
        os.kill(os.getpid(), signal.SIGKILL)

atexit.register(cleanup)
