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 <[email protected]>
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>