57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
# Running the tests
|
|
|
|
## Java versions
|
|
|
|
Open Telemetry Auto Instrumentation's minimal supported version is java 8.
|
|
All jar files that we produce, unless noted otherwise, have bytecode
|
|
compatible with java 8 runtime. Our test suite is executed against
|
|
java 8, all LTS versions and the latest non-LTS version.
|
|
|
|
Some libraries that we auto-instrument may have higher minimal requirements.
|
|
In this case we compile and test corresponding auto-instrumentation with
|
|
higher java version as required by library. The resulting classes will have
|
|
higher bytecode level, but as it matches library's java version, no runtime
|
|
problem arise.
|
|
|
|
## Instrumentation tests
|
|
|
|
Executing `./gradlew instrumentation:test` will run tests for all supported
|
|
auto-instrumentations using that java version which runs the Gradle build
|
|
itself. These tests usually use the minimal supported version of the
|
|
instrumented library.
|
|
|
|
### Executing tests with specific java version
|
|
|
|
We run all tests on Java 11 by default, along with Java 8 and 15. To run on the later, set the
|
|
`testJavaVersion` Gradle property to the desired major version, e.g., `./gradlew test -PtestJavaVersion=8`,
|
|
`./gradlew test -PtestJavaVersion=15`. If you don't have a JDK of these versions
|
|
installed, Gradle will automatically download it for you.
|
|
|
|
### Executing tests against the latest versions of libraries under instrumentation
|
|
|
|
This is done as part of the nightly build in order to catch when a new version of a library is
|
|
released that breaks our instrumentation tests.
|
|
|
|
To run these tests locally, add `-PtestLatestDeps=true` to your existing `gradlew` command line.
|
|
|
|
### Executing single test
|
|
|
|
Executing `./gradlew :instrumentation:<INSTRUMENTATION_NAME>:test --tests <GROOVY TEST FILE NAME>` will run only the selected test.
|
|
|
|
## Smoke tests
|
|
|
|
The smoke tests are not run as part of a global `test` task run since they take a long time and are
|
|
not relevant for most contributions. Explicitly specify `:smoke-tests:test` to run them.
|
|
|
|
If you need to run a specific smoke test suite:
|
|
|
|
```
|
|
./gradlew :smoke-tests:test -PsmokeTestSuite=payara
|
|
```
|
|
|
|
If you are on Windows and you want to run the tests using linux containers:
|
|
|
|
```
|
|
USE_LINUX_CONTAINERS=1 ./gradlew :smoke-tests:test -PsmokeTestSuite=payara
|
|
```
|