¿Qué hará NUnit internamente cuando se viole un tiempo de espera de prueba?

exactamente, ¿qué hace NUnit cuando encuentra un tiempo de espera? Solía pensar que abortaría la prueba lanzando una TimeoutException, pero esta prueba demuestra lo contrario:

[Test, Timeout(100), ExpectedException(typeof(TimeoutException))]
public static void RaisingExpectedTimeoutException()
{
    Thread.Sleep(500);
}

por desgracia, la consola nunit solo informa de una violación del tiempo de espera, pero no de cómo la prueba fue abortada. ¿Hay alguien por ahí que sepa más sobre cómo funcionaría esto? ¿Y por qué la prueba anterior no aumentó la TimeoutException que esperaba? (a pesar de que es un tipo de excepción .NET, supuse que NUnit usó esa excepción para infracciones de tiempo de espera).

PS: este método de prueba también falla:

[Test, Timeout(100), ExpectedException(typeof(ThreadAbortException))]
public static void RaisingExpectedThreadAbortException()
{
    Thread.Sleep(500);
}

y este método de prueba tiene éxito ("¡nadie espera la inquisición española!"):

[Test, ExpectedException(typeof(ThreadAbortException))]
public static void ThrowingExpectedThreadAbortException()
{
    Thread.CurrentThread.Abort();
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta