quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.83k stars 2.7k forks source link

Quarkus restarts after each test class for multiple test classes decorated with the same @TestProfile (regression) #44593

Closed jmdsc closed 11 hours ago

jmdsc commented 1 day ago

Describe the bug

The bug seems to be similar to issue 44235 but occurs when using the @TestProfile annotation instead of using the @WithTestResource annotation. In other words, when different tests are decorated with the @TestProfile annotation having the same QuarkusTestProfile value, Quarkus restarts after each test.

The above behavior has been confirmed on all 3.16.x versions and also 3.17.0.CR1 - version 3.15.2 does not have the same problem/behavior.

Expected behavior

When different tests are decorated with the @TestProfile annotation having the same QuarkusTestProfile value, the expected behavior is that Quarkus does not restart after each of those tests - the same behavior that we witness in version 3.15.2 and earlier.

Actual behavior

When different tests are decorated with the @TestProfile annotation having the same QuarkusTestProfile value, Quarkus restarts after each test.

How to Reproduce?

Maven reproducer project: quarkus-sixteen.tar.gz

Output of uname -a or ver

Linux 6.8.0-49-generic #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 4 02:06:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

openjdk version "21.0.5" 2024-10-15 LTS OpenJDK Runtime Environment Zulu21.38+21-CA (build 21.0.5+11-LTS) OpenJDK 64-Bit Server VM Zulu21.38+21-CA (build 21.0.5+11-LTS, mixed mode, sharing)

Quarkus version or git rev

3.16.0, 3.16.1, 3.16.3, 3.17.0.CR1

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.9

Additional information

No response

geoand commented 23 hours ago

Is there any chance you can test this using 3.17.0 (you'll need to use quarkus-bom for the time being)? Asking because this was likely fixed by https://github.com/quarkusio/quarkus/pull/44532

jmdsc commented 11 hours ago

Just tested with 3.17.0 and the behavior is as expected - Quarkus no longer restarts after each test class when classes are decorated with the @TestProfile annotation having the same QuarkusTestProfile value.

geoand commented 5 hours ago

Thanks for checking!