# Single App Test Template

This template is the most common starting point for an AutoRepro submission.

## Use Case

Use this template for vulnerabilities that can be demonstrated with:
1.  A **host-side test** that runs on a computer and controls the device.
2.  A **single device-side app** that is installed on the device to trigger the vulnerability.

## Modules

*   `submission/hostTest`: The host-side Tradefed test.
*   `submission/appTest`: The device-side instrumented app.
