def METHOD_NAME():
    started = threading.Event()
    caught = threading.Event()
    def test_catcher(started_event: threading.Event, caught_event: threading.Event):
        try:
            started_event.set()
            while True:
                time.sleep(0.001)
        except Exception as e:
            caught_event.set()
            raise e
    thread = DestroyableThread(test_catcher, started_event=started, caught_event=caught)
    thread.start()
    started.wait()
    thread.destroy()
    thread.join(60)
    assert not thread.is_alive()
    assert caught.is_set()