---
title: Generic Test Data
url: /analysis/generic-test/
---
Out of the box, {instance} supports generic formats for test coverage and test execution import. If your coverage engines' native output formats aren't supported by your language plugins, simply covert them to these formats.
## Generic Coverage
Report paths should be passed in a comma-delimited list to:
* `sonar.coverageReportPaths`
The supported format is described by the `sonar-generic-coverage.xsd`:
and looks like this:
The root node should be named `coverage`. Its version attribute should be set to `1`.
Insert a `file` element for each file which can be covered by tests. Its `path` attribute can be either absolute or relative to the root of the module.
Inside a `file` element, insert a `lineToCover` for each line which can be covered by unit tests. It can have the following attributes:
* `lineNumber` (mandatory)
* `covered` (mandatory): boolean value indicating whether tests actually hit that line
* `branchesToCover` (optional): number of branches which can be covered
* `coveredBranches` (optional): number of branches which are actually covered by tests
## Generic Execution
Report paths should be passed in a comma-delimited list to:
* `sonar.testExecutionReportPaths`
The supported format looks like this:
other
stacktrace
stacktrace
The root node should be named `testExecutions`. Its version attribute should be set to `1`.
Insert a `file` element for each test file. Its `path` attribute can be either absolute or relative to the root of the module.
**Note** unlike for coverage reports, the files present in the report must be test file names, not source code files covered by tests.
Inside a `file` element, insert a `testCase` for each test run by unit tests. It can have the following attributes/children:
* `testCase` (mandatory)
* `name` (mandatory): name of the test case
* `duration` (mandatory): long value in milliseconds
* `failure|error|skipped` (optional): if the test is not OK, report the cause with a message and a long description
* `message` (mandatory): short message describing the cause
* `stacktrace` (optional): long message containing details about `failure|error|skipped` status