This is an automated email from the ASF dual-hosted git repository. mapohl pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push: new a1aed4f8770 [FLINK-33543][core] Moves Java 17-specific test classes into their own module to make it easier unload these classes in the IDE. a1aed4f8770 is described below commit a1aed4f877099328d4833f8a2781d2edbaaddc70 Author: Matthias Pohl <matthias.p...@aiven.io> AuthorDate: Tue Nov 14 12:37:07 2023 +0100 [FLINK-33543][core] Moves Java 17-specific test classes into their own module to make it easier unload these classes in the IDE. --- flink-tests-java17/pom.xml | 83 +++++++++++++++++++++ .../runtime/PojoRecordSerializerTest.java | 3 +- .../runtime/PojoRecordSerializerUpgradeTest.java | 16 ++-- ...oRecordSerializerUpgradeTestSpecifications.java | 2 +- .../runtime/RecordBuilderFactoryTest.java | 2 +- .../serializer-snapshot | Bin .../test-data | Bin .../serializer-snapshot | Bin .../pojo-serializer-to-record-1.19/test-data | Bin pom.xml | 11 +-- tools/maven/suppressions-core.xml | 2 - tools/maven/suppressions-tests-java17.xml | 28 +++++++ 12 files changed, 124 insertions(+), 23 deletions(-) diff --git a/flink-tests-java17/pom.xml b/flink-tests-java17/pom.xml new file mode 100644 index 00000000000..bf2a3cf133f --- /dev/null +++ b/flink-tests-java17/pom.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.flink</groupId> + <artifactId>flink-parent</artifactId> + <version>1.19-SNAPSHOT</version> + </parent> + + <artifactId>flink-tests-java17</artifactId> + <name>Flink : Java 17 Tests</name> + <description>Module that collects Java 17-specific test code.</description> + + <packaging>jar</packaging> + + <dependencies> + <!-- For Java record (de)serialization --> + <dependency> + <groupId>org.apache.flink</groupId> + <artifactId>flink-core</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <!-- SerializerTestBase lives in the test code --> + <dependency> + <groupId>org.apache.flink</groupId> + <artifactId>flink-core</artifactId> + <version>${project.version}</version> + <scope>test</scope> + <type>test-jar</type> + </dependency> + + <!-- Testing the record (de)serialization on different versions --> + <dependency> + <groupId>org.apache.flink</groupId> + <artifactId>fink-migration-test-utils</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <!-- Base testing tools --> + <dependency> + <groupId>org.apache.flink</groupId> + <artifactId>flink-test-utils-junit</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <suppressionsLocation>/tools/maven/suppressions-tests-java17.xml</suppressionsLocation> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerTest.java b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerTest.java similarity index 98% rename from flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerTest.java rename to flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerTest.java index 58e2c2a8535..250e4b30bb4 100644 --- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerTest.java +++ b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerTest.java @@ -43,8 +43,7 @@ import java.util.Random; import static org.assertj.core.api.Assertions.assertThat; /** A test for the {@link PojoSerializer} with Java Records. */ -class Java17PojoRecordSerializerTest - extends SerializerTestBase<Java17PojoRecordSerializerTest.TestUserClass> { +class PojoRecordSerializerTest extends SerializerTestBase<PojoRecordSerializerTest.TestUserClass> { private final TypeInformation<TestUserClass> type = TypeExtractor.getForClass(TestUserClass.class); diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTest.java b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTest.java similarity index 75% rename from flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTest.java rename to flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTest.java index 455c2bda826..1f472223bfe 100644 --- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTest.java +++ b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTest.java @@ -26,11 +26,11 @@ import java.util.Collection; import java.util.List; /** A {@link TypeSerializerUpgradeTestBase} for the {@link PojoSerializer}. */ -class Java17PojoRecordSerializerUpgradeTest +class PojoRecordSerializerUpgradeTest extends TypeSerializerUpgradeTestBase< - Java17PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationSetup + PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationSetup .RecordBeforeMigration, - Java17PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationVerifier + PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationVerifier .RecordAfterSchemaUpgrade> { @Override @@ -47,16 +47,14 @@ class Java17PojoRecordSerializerUpgradeTest new TestSpecification<>( "pojo-serializer-to-record", flinkVersion, - Java17PojoRecordSerializerUpgradeTestSpecifications.PojoToRecordSetup.class, - Java17PojoRecordSerializerUpgradeTestSpecifications.PojoToRecordVerifier - .class)); + PojoRecordSerializerUpgradeTestSpecifications.PojoToRecordSetup.class, + PojoRecordSerializerUpgradeTestSpecifications.PojoToRecordVerifier.class)); testSpecifications.add( new TestSpecification<>( "pojo-serializer-record-migration", flinkVersion, - Java17PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationSetup - .class, - Java17PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationVerifier + PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationSetup.class, + PojoRecordSerializerUpgradeTestSpecifications.RecordMigrationVerifier .class)); return testSpecifications; } diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTestSpecifications.java b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTestSpecifications.java similarity index 99% rename from flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTestSpecifications.java rename to flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTestSpecifications.java index 158795a2125..4beb12958ac 100644 --- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17PojoRecordSerializerUpgradeTestSpecifications.java +++ b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/PojoRecordSerializerUpgradeTestSpecifications.java @@ -33,7 +33,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertSame; /** A {@link TypeSerializerUpgradeTestBase} for the {@link PojoSerializer}. */ -class Java17PojoRecordSerializerUpgradeTestSpecifications { +class PojoRecordSerializerUpgradeTestSpecifications { public static final class PojoToRecordSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup< diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17RecordBuilderFactoryTest.java b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/RecordBuilderFactoryTest.java similarity index 99% rename from flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17RecordBuilderFactoryTest.java rename to flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/RecordBuilderFactoryTest.java index f40f5b02eae..2e1436b843a 100644 --- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/Java17RecordBuilderFactoryTest.java +++ b/flink-tests-java17/src/test/java/org/apache/flink/api/java/typeutils/runtime/RecordBuilderFactoryTest.java @@ -28,7 +28,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; /** Tests for the @{@link JavaRecordBuilderFactory}. */ -class Java17RecordBuilderFactoryTest { +class RecordBuilderFactoryTest { Field[] fields; diff --git a/flink-core/src/test/resources/pojo-serializer-record-migration-1.19/serializer-snapshot b/flink-tests-java17/src/test/resources/pojo-serializer-record-migration-1.19/serializer-snapshot similarity index 100% rename from flink-core/src/test/resources/pojo-serializer-record-migration-1.19/serializer-snapshot rename to flink-tests-java17/src/test/resources/pojo-serializer-record-migration-1.19/serializer-snapshot diff --git a/flink-core/src/test/resources/pojo-serializer-record-migration-1.19/test-data b/flink-tests-java17/src/test/resources/pojo-serializer-record-migration-1.19/test-data similarity index 100% rename from flink-core/src/test/resources/pojo-serializer-record-migration-1.19/test-data rename to flink-tests-java17/src/test/resources/pojo-serializer-record-migration-1.19/test-data diff --git a/flink-core/src/test/resources/pojo-serializer-to-record-1.19/serializer-snapshot b/flink-tests-java17/src/test/resources/pojo-serializer-to-record-1.19/serializer-snapshot similarity index 100% rename from flink-core/src/test/resources/pojo-serializer-to-record-1.19/serializer-snapshot rename to flink-tests-java17/src/test/resources/pojo-serializer-to-record-1.19/serializer-snapshot diff --git a/flink-core/src/test/resources/pojo-serializer-to-record-1.19/test-data b/flink-tests-java17/src/test/resources/pojo-serializer-to-record-1.19/test-data similarity index 100% rename from flink-core/src/test/resources/pojo-serializer-to-record-1.19/test-data rename to flink-tests-java17/src/test/resources/pojo-serializer-to-record-1.19/test-data diff --git a/pom.xml b/pom.xml index f11f0716503..b34958d8329 100644 --- a/pom.xml +++ b/pom.xml @@ -207,7 +207,6 @@ under the License. <!-- Can be set to any value to reproduce a specific build. --> <test.randomization.seed/> <test.unit.pattern>**/*Test.*</test.unit.pattern> - <test.exclusion.pattern>**/Java17*.java</test.exclusion.pattern> </properties> <dependencies> @@ -1106,10 +1105,9 @@ under the License. <profile> <id>java17-target</id> - <!-- Include Java 17 specific tests (by not excluding them) --> - <properties> - <test.exclusion.pattern>nothing</test.exclusion.pattern> - </properties> + <modules> + <module>flink-tests-java17</module> + </modules> <build> <plugins> @@ -2067,9 +2065,6 @@ under the License. <!-- Prevents recompilation due to missing package-info.class, see MCOMPILER-205 --> <arg>-Xpkginfo:always</arg> </compilerArgs> - <testExcludes> - <testExclude>${test.exclusion.pattern}</testExclude> - </testExcludes> </configuration> </plugin> diff --git a/tools/maven/suppressions-core.xml b/tools/maven/suppressions-core.xml index fffe480a956..8fe723cb250 100644 --- a/tools/maven/suppressions-core.xml +++ b/tools/maven/suppressions-core.xml @@ -122,6 +122,4 @@ under the License. files="(.*)test[/\\](.*)testutils[/\\](.*)" checks="RedundantModifier|JavadocParagraph|JavadocType|JavadocStyle|StaticVariableNameCheck|LocalFinalVariableName|EmptyLineSeparator"/> - <!-- Suppress for Java17-specific test classes where Java records are used. --> - <suppress files="(.*)test[/\\].*[/\\]Java17.*.java" checks="MethodNameCheck"/> </suppressions> diff --git a/tools/maven/suppressions-tests-java17.xml b/tools/maven/suppressions-tests-java17.xml new file mode 100644 index 00000000000..8994a7f58d3 --- /dev/null +++ b/tools/maven/suppressions-tests-java17.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<!DOCTYPE suppressions PUBLIC + "-//Puppy Crawl//DTD Suppressions 1.1//EN" + "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> + +<suppressions> + <!-- Java records aren't supported by checkstyle 8.14. The corresponding check error needs to be suppressed. --> + <suppress files="(.*)test[/\\].*[/\\].*.java" checks="MethodNameCheck"/> +</suppressions>