Allow to define system properties with @NativeImageTest #13998
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently it is only possible to pass system properties to the native image that is started using TestResources as test profiles are not allowed in native testing.
However TestResources are always started, no matter they are used with
@QuarkusTestResource
or not. By having multiple test classes annotated with@NativeImageTest
, using test resources may lead to bad configuration depending on the order the resources are started.There is currently no other way of passing system properties without rebuilding the native image until now. The idea of this PR is to be able to define system properties to use directly using the
@NativeImageTest
as an instance of the image is started by test class. This makes sense as it is possible to start a native image in production by passing system properties or environment variables. IMHO this respects the Quarkus philosophy as well as provides a way of testing configuration combinations for native images.