1*115816f9SAndroid Build Coastguard Worker# metalava-model-snapshot-testing 2*115816f9SAndroid Build Coastguard Worker 3*115816f9SAndroid Build Coastguard WorkerThe purpose of this module is to test the snapshot mechanism by running the testsuite against a number of different 4*115816f9SAndroid Build Coastguard Workerproviders to create a `Codebase` and then take a snapshot of the `Codebase` and perform the actual test against the 5*115816f9SAndroid Build Coastguard Workersnapshot. This will ensure that the snapshot provides the same capabilities as the original providers. 6*115816f9SAndroid Build Coastguard Worker 7*115816f9SAndroid Build Coastguard WorkerIt does that by registering a `com.android.tools.metalava.model.testing.transformer.CodebaseTransformer` service which 8*115816f9SAndroid Build Coastguard Workeris loaded by the `com.android.tools.metalava.model.testsuite.ModelSuiteRunner` and used to transform the `Codebase` 9*115816f9SAndroid Build Coastguard Workerbefore performing the test. 10