diff --git a/README.md b/README.md index 61d8c59a6..9a41c47c3 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ The suite uses `org.junit.jupiter.api.Tag` annotation to group similar tests tog - `use-quarkus-openshift-extension`: tests use `quarkus-openshift` extension to deploy the app - `serverless`: use Openshift Serverless to deploy the app - `quarkus-cli`: tests use Quarkus CLI, which needs to be installed ( see https://quarkus.io/guides/cli-tooling for details) +- `podman-incompatible`: tests, which require Docker as a container engine and are not compatible with Podman. ## Running against Red Hat build of Quarkus diff --git a/docker-build/src/test/java/io/quarkus/ts/docker/DockerBuildIT.java b/docker-build/src/test/java/io/quarkus/ts/docker/DockerBuildIT.java index cfcaff5e9..7a1051760 100644 --- a/docker-build/src/test/java/io/quarkus/ts/docker/DockerBuildIT.java +++ b/docker-build/src/test/java/io/quarkus/ts/docker/DockerBuildIT.java @@ -5,6 +5,7 @@ import java.util.Objects; import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import com.github.dockerjava.api.model.Image; @@ -13,6 +14,7 @@ import io.quarkus.test.utils.DockerUtils; @QuarkusScenario +@Tag("podman-incompatible") //TODO: https://github.com/quarkusio/quarkus/issues/28721 public class DockerBuildIT { private static final String DOCKER_IMG_NAME = "hello-world-app"; diff --git a/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroGroupIdIT.java b/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroGroupIdIT.java index afae57550..16681c0e3 100644 --- a/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroGroupIdIT.java +++ b/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroGroupIdIT.java @@ -11,6 +11,7 @@ @Tag("QUARKUS-1089") @QuarkusScenario +@Tag("podman-incompatible") //todo fails on podman 4.4.1, works on 4.5.0 and above public class ConfluentKafkaAvroGroupIdIT extends BaseKafkaAvroGroupIdIT { @KafkaContainer(vendor = KafkaVendor.CONFLUENT, withRegistry = true) diff --git a/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroIT.java b/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroIT.java index 740b47734..a3a4483a5 100644 --- a/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroIT.java +++ b/messaging/kafka-confluent-avro-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/ConfluentKafkaAvroIT.java @@ -1,5 +1,7 @@ package io.quarkus.ts.messaging.kafka; +import org.junit.jupiter.api.Tag; + import io.quarkus.test.bootstrap.KafkaService; import io.quarkus.test.bootstrap.RestService; import io.quarkus.test.scenarios.QuarkusScenario; @@ -8,6 +10,7 @@ import io.quarkus.test.services.containers.model.KafkaVendor; @QuarkusScenario +@Tag("podman-incompatible") //todo fails on podman 4.4.1, works on 4.5.0 and above public class ConfluentKafkaAvroIT extends BaseKafkaAvroIT { @KafkaContainer(vendor = KafkaVendor.CONFLUENT, withRegistry = true) diff --git a/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/DB2DatabaseIT.java b/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/DB2DatabaseIT.java index 1a8c45358..f52168ede 100644 --- a/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/DB2DatabaseIT.java +++ b/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/DB2DatabaseIT.java @@ -12,6 +12,7 @@ @QuarkusScenario @DisabledOnNative(reason = "Compatibility mode check in JVM mode is enough for this DB") @Tag("fips-incompatible") // Reported in https://github.com/IBM/Db2/issues/43 +@Tag("podman-incompatible") //TODO https://github.com/containers/podman/issues/16432 public class DB2DatabaseIT extends AbstractSqlDatabaseIT { @Container(image = "${db2.image}", port = 50000, expectedLog = "Setup has completed") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DB2DatabaseIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DB2DatabaseIT.java index c452dc4d7..8b8de1f3e 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DB2DatabaseIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DB2DatabaseIT.java @@ -10,6 +10,7 @@ @QuarkusScenario @Tag("fips-incompatible") // Reported in https://github.com/IBM/Db2/issues/43 +@Tag("podman-incompatible") //TODO: https://github.com/containers/podman/issues/16432 public class DB2DatabaseIT extends AbstractSqlDatabaseIT { @Container(image = "${db2.image}", port = 50000, expectedLog = "Setup has completed") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java index 3951eb70d..e302406ca 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java @@ -1,5 +1,6 @@ package io.quarkus.ts.sqldb.sqlapp; +import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -14,6 +15,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMariadbDevServicesUserExperienceIT { private static final String MARIA_DB_NAME = DbUtil.getImageName("mariadb.10.image"); @@ -37,9 +39,15 @@ public void verifyIfUserIsInformedAboutMariadbDevServicePulling() { @Test public void verifyMysqlImage() { - Image postgresImg = DockerUtils.getImage(MARIA_DB_NAME, MARIA_DB_VERSION); - Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + + Image image = DockerUtils.getImage(MARIA_DB_NAME, MARIA_DB_VERSION); + Assertions.assertFalse(image.getId().isEmpty(), String.format("%s:%s not found. " + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MARIA_DB_NAME, MARIA_DB_VERSION)); } + + @AfterAll + //TODO workaround for podman 4.4.1 on rhel. Without it, *next* test (eg MariaDBDatabaseIT) fails with "broken pipe" + public static void clear() { + DockerUtils.removeImage(MARIA_DB_NAME, MARIA_DB_VERSION); + } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java index 4ca79d547..7e6ff26f8 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java @@ -9,6 +9,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMariadbIT extends AbstractSqlDatabaseIT { @DevModeQuarkusApplication diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java index 6110ec476..a2b80e353 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java @@ -1,5 +1,6 @@ package io.quarkus.ts.sqldb.sqlapp; +import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -14,6 +15,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMssqlDevServicesUserExperienceIT { private static final String MSSQL_NAME = DbUtil.getImageName("mssql.image"); @@ -38,9 +40,15 @@ public void verifyIfUserIsInformedAboutMssqlDevServicePulling() { @Test public void verifyMssqlImage() { - Image postgresImg = DockerUtils.getImage(MSSQL_NAME, MSSQL_VERSION); - Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + + Image image = DockerUtils.getImage(MSSQL_NAME, MSSQL_VERSION); + Assertions.assertFalse(image.getId().isEmpty(), String.format("%s:%s not found. " + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MSSQL_NAME, MSSQL_VERSION)); } + + @AfterAll + //TODO workaround for podman 4.4.1 on rhel. Without it, *next* test (eg MariaDBDatabaseIT) fails with "broken pipe" + public static void clear() { + DockerUtils.removeImage(MSSQL_NAME, MSSQL_VERSION); + } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java index d5d507129..5dbdba8e0 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java @@ -9,6 +9,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMssqlIT extends AbstractSqlDatabaseIT { @DevModeQuarkusApplication diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java index a2a9bcebf..1d092e15f 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java @@ -3,6 +3,7 @@ import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageName; import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageVersion; +import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -17,6 +18,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMysqlDevServiceUserExperienceIT { private static final String MYSQL_NAME = getImageName("mysql.upstream.80.image"); @@ -40,9 +42,15 @@ public void verifyIfUserIsInformedAboutMysqlDevServicePulling() { @Test public void verifyMysqlImage() { - Image postgresImg = DockerUtils.getImage(MYSQL_NAME, MYSQL_VERSION); - Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + + Image image = DockerUtils.getImage(MYSQL_NAME, MYSQL_VERSION); + Assertions.assertFalse(image.getId().isEmpty(), String.format("%s:%s not found. " + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MYSQL_NAME, MYSQL_VERSION)); } + + @AfterAll + //TODO workaround for podman 4.4.1 on rhel. Without it, *next* test (eg MariaDBDatabaseIT) fails with "broken pipe" + public static void clear() { + DockerUtils.removeImage(MYSQL_NAME, MYSQL_VERSION); + } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java index 351adf071..49e83671c 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java @@ -9,6 +9,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeMysqlIT extends AbstractSqlDatabaseIT { @DevModeQuarkusApplication diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleDevServiceUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleDevServiceUserExperienceIT.java index f2e9532d8..3d15cfe2d 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleDevServiceUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleDevServiceUserExperienceIT.java @@ -3,7 +3,9 @@ import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageName; import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageVersion; +import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import com.github.dockerjava.api.model.Image; @@ -15,6 +17,7 @@ import io.quarkus.test.utils.SocketUtils; @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeOracleDevServiceUserExperienceIT { private static final String ORACLE_NAME = getImageName("oracle.image"); @@ -43,4 +46,10 @@ public void verifyOracleImage() { "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", ORACLE_NAME, ORACLE_VERSION)); } + + @AfterAll + //TODO workaround for podman 4.4.1 on rhel. Without it, *next* test (eg MariaDBDatabaseIT) fails with "broken pipe" + public static void clear() { + DockerUtils.removeImage(ORACLE_NAME, ORACLE_VERSION); + } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleIT.java index 543dd555e..64a085ce1 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeOracleIT.java @@ -1,5 +1,6 @@ package io.quarkus.ts.sqldb.sqlapp; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import io.quarkus.test.bootstrap.RestService; @@ -7,6 +8,7 @@ import io.quarkus.test.services.DevModeQuarkusApplication; @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModeOracleIT extends AbstractSqlDatabaseIT { @DevModeQuarkusApplication diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java index 60a5552ad..9ddb67025 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java @@ -3,6 +3,7 @@ import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageName; import static io.quarkus.ts.sqldb.sqlapp.DbUtil.getImageVersion; +import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -17,6 +18,7 @@ @Tag("QUARKUS-959") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModePostgresqlDevServiceUserExperienceIT { // we use '-alpine' version as no other test is using it, which mitigates the fact that sometimes @@ -48,4 +50,10 @@ public void verifyPostgresqlImage() { "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", POSTGRES_NAME, POSTGRESQL_VERSION)); } + + @AfterAll + //TODO workaround for podman 4.4.1 on rhel. Without it, *next* test (eg MariaDBDatabaseIT) fails with "broken pipe" + public static void clear() { + DockerUtils.removeImage(POSTGRES_NAME, POSTGRESQL_VERSION); + } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlIT.java index cbb59c711..94409f1fe 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlIT.java @@ -10,6 +10,7 @@ @Tag("QUARKUS-959") @Tag("QUARKUS-1026") @QuarkusScenario +@Tag("podman-incompatible") //todo https://github.com/quarkusio/quarkus/issues/33985 public class DevModePostgresqlIT extends AbstractSqlDatabaseIT { @DevModeQuarkusApplication @@ -19,4 +20,4 @@ public class DevModePostgresqlIT extends AbstractSqlDatabaseIT { public void postgresqlContainerShouldBeStarted() { app.logs().assertContains("Creating container for image: docker.io/postgres"); } -} \ No newline at end of file +}