# FailureRetention

# FailureRetention

```
@Incubating interface FailureRetention
```

|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.FailureRetention](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/dsl/FailureRetention#) |

Options for configuring Android Test Retention.

When enabled, Android Test Retention automatically takes emulator snapshots on test failures.

## Summary

|                                                                                                                                                         ### Public methods                                                                                                                                                          ||
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [retainAll](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/dsl/FailureRetention#retainAll())`()` Call this function to take unlimited number of test failure snapshots (will ignore maxSnapshots setting) |

|                                                                                                                                          ### Properties                                                                                                                                           ||
|--------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [compressSnapshots](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/dsl/FailureRetention#compressSnapshots:kotlin.Boolean) Enables snapshot compression.           |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [enable](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/dsl/FailureRetention#enable:kotlin.Boolean) Enables Android Test Retention.                               |
| abstract[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)         | [maxSnapshots](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/dsl/FailureRetention#maxSnapshots:kotlin.Int) Maximum number of failures that would be snapshotted. |

## Public methods

### retainAll

```
abstract fun retainAll(): Unit
```

Call this function to take unlimited number of test failure snapshots (will ignore maxSnapshots setting)

## Properties

### compressSnapshots

```
abstract var compressSnapshots: Boolean
```

Enables snapshot compression. Default to false.  

### enable

```
abstract var enable: Boolean
```

Enables Android Test Retention. Default to false.  

### maxSnapshots

```
abstract var maxSnapshots: Int
```

Maximum number of failures that would be snapshotted. Any failures after the first $maxSnapshots will not have snapshots. Default to 5. Must be \>0