# build.properties

Certain test properties may be set for all the projects of a given git repository in its build.properties file. For an example, see the kernel's build.properties.

+ Test-related build.properties
Property name | Definition | Default value
--- | --- | ---
test.forkmode | "perTest" if a new JVM is to be launched for each test class. "perBatch" if a new JVM is to be launched for each project. See "forkMode" in the Ant JUnit task. | perBatch
test.java.dir | The directory containing the source code for a project's tests. | <project>/src/test/java
test.resources.dir | The directory containing resources for a project's tests. | <project>/src/test/resources
test.output.dir | The directory in which a project's compiled tests are stored. | <project>/target/test-classes
test-results.output.dir | The directory in which a project's test results are stored. | <project>/target/test-results
test.vm.args | JVM parameters for running the test classes. See the "jvmarg" nested element of the Ant JUnit task. | <the empty string>
ci.build | Set to "true" if the build should continue after errors are encountered. When needed, this property is passed on the Ant invocation by specifying "-Dci.build=true" and is otherwise left to default. This property is used to specify the "haltOnError" and "haltOnFailure" parameters to the Ant JUnit task. | false

Virgo build drives JUnit for unit and integration tests in the "test-run" macro in common/quality.xml. The above properties parameterise the macro.

The properties are defaulted in common/common.properties and are typically overridden for all the projects of a given git repository in the build.properties file.