Add catchingExceptions method to replace runCatching (#4797)
- Add `runCatchingExceptions` and `mapCatchingExceptions` to replace `runCatching` and `mapCatching`.
- Make `tryOrNull { ... }` catch only exceptions too.
- Apply the changes to the whole project.
- Add new Rust fakes for tests to handle the code that's now unblocked - previously it just threw an `UnsatisfiedLinkError` which we ignored.
- Add a new `detekt-rules` project with a `RunCatchingRule` to prevent `runCatching` and `mapCatching` usages.
This commit is contained in:
parent
7816529fd7
commit
efdc10e60a
144 changed files with 716 additions and 375 deletions
|
|
@ -7,19 +7,8 @@
|
|||
|
||||
package io.element.android.tests.testutils.lambda
|
||||
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
fun lambdaError(
|
||||
message: String = "This lambda should never be called."
|
||||
): Nothing {
|
||||
// Throwing an exception here is not enough, it can be caught.
|
||||
// Instead exit the process to make sure the test fails.
|
||||
// The error will be:
|
||||
// "Could not stop all services."
|
||||
// In this case, put a breakpoint here and run the test in debug mode to identify which lambda is failing.
|
||||
System.err.println(message)
|
||||
Thread.currentThread().stackTrace.forEach {
|
||||
System.err.println(it)
|
||||
}
|
||||
exitProcess(1)
|
||||
throw AssertionError(message)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue