The coroutine context is not cleared properly. This test fails:
@Test
fun `Context is restored after a context block is complete`() = runBlocking {
assertTrue(ContextMap.empty)
assertTrue(ContextStack.empty)
withContext(CoroutineThreadContext(ThreadContextData(mapOf("myKey" to "myValue"), listOf("test")))) {
assertEquals("myValue", ContextMap["myKey"])
assertEquals("test", ContextStack.peek())
}
assertTrue(ContextMap.empty)
assertTrue(ContextStack.empty)
}
The coroutine context is not cleared properly. This test fails: