This is an automated email from the ASF dual-hosted git repository.

aljoscha pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 7489ff09dbcac6da138158d0b7f7f60dc829ddf6
Author: klion26 <[email protected]>
AuthorDate: Tue Jan 21 10:56:01 2020 +0800

    [FLINK-13632] Port PrimitiveArraySerializer test to 
TypeSerializerUpgradeTestBase
---
 ...mitiveArraySerializerSnapshotMigrationTest.java |  94 -----
 .../array/PrimitiveArraySerializerUpgradeTest.java | 102 +++++
 ...veArraySerializerUpgradeTestSpecifications.java | 431 +++++++++++++++++++++
 ...ink-1.6-boolean-primitive-array-serializer-data | Bin 80 -> 0 bytes
 ...1.6-boolean-primitive-array-serializer-snapshot | Bin 436 -> 0 bytes
 .../flink-1.6-byte-primitive-array-serializer-data | Bin 80 -> 0 bytes
 ...nk-1.6-byte-primitive-array-serializer-snapshot | Bin 430 -> 0 bytes
 .../flink-1.6-char-primitive-array-serializer-data | Bin 140 -> 0 bytes
 ...nk-1.6-char-primitive-array-serializer-snapshot | Bin 430 -> 0 bytes
 ...link-1.6-double-primitive-array-serializer-data | Bin 440 -> 0 bytes
 ...-1.6-double-primitive-array-serializer-snapshot | Bin 434 -> 0 bytes
 ...flink-1.6-float-primitive-array-serializer-data | Bin 240 -> 0 bytes
 ...k-1.6-float-primitive-array-serializer-snapshot | Bin 432 -> 0 bytes
 .../flink-1.6-int-primitive-array-serializer-data  | Bin 240 -> 0 bytes
 ...ink-1.6-int-primitive-array-serializer-snapshot | Bin 428 -> 0 bytes
 .../flink-1.6-long-primitive-array-serializer-data | Bin 440 -> 0 bytes
 ...nk-1.6-long-primitive-array-serializer-snapshot | Bin 430 -> 0 bytes
 ...flink-1.6-short-primitive-array-serializer-data | Bin 140 -> 0 bytes
 ...k-1.6-short-primitive-array-serializer-snapshot | Bin 432 -> 0 bytes
 ...ink-1.7-boolean-primitive-array-serializer-data | Bin 90 -> 0 bytes
 ...1.7-boolean-primitive-array-serializer-snapshot | Bin 212 -> 0 bytes
 .../flink-1.7-byte-primitive-array-serializer-data | Bin 100 -> 0 bytes
 ...nk-1.7-byte-primitive-array-serializer-snapshot | Bin 203 -> 0 bytes
 .../flink-1.7-char-primitive-array-serializer-data | Bin 240 -> 0 bytes
 ...nk-1.7-char-primitive-array-serializer-snapshot | Bin 203 -> 0 bytes
 ...link-1.7-double-primitive-array-serializer-data | Bin 360 -> 0 bytes
 ...-1.7-double-primitive-array-serializer-snapshot | Bin 209 -> 0 bytes
 ...flink-1.7-float-primitive-array-serializer-data | Bin 160 -> 0 bytes
 ...k-1.7-float-primitive-array-serializer-snapshot | Bin 206 -> 0 bytes
 .../flink-1.7-int-primitive-array-serializer-data  | Bin 160 -> 0 bytes
 ...ink-1.7-int-primitive-array-serializer-snapshot | Bin 200 -> 0 bytes
 .../flink-1.7-long-primitive-array-serializer-data | Bin 280 -> 0 bytes
 ...nk-1.7-long-primitive-array-serializer-snapshot | Bin 203 -> 0 bytes
 ...flink-1.7-short-primitive-array-serializer-data | Bin 120 -> 0 bytes
 ...k-1.7-short-primitive-array-serializer-snapshot | Bin 206 -> 0 bytes
 35 files changed, 533 insertions(+), 94 deletions(-)

diff --git 
a/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerSnapshotMigrationTest.java
 
b/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerSnapshotMigrationTest.java
deleted file mode 100644
index 6163e2c..0000000
--- 
a/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerSnapshotMigrationTest.java
+++ /dev/null
@@ -1,94 +0,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.
- */
-
-package org.apache.flink.api.common.typeutils.base.array;
-
-import 
org.apache.flink.api.common.typeutils.TypeSerializerSnapshotMigrationTestBase;
-import org.apache.flink.testutils.migration.MigrationVersion;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import java.util.Collection;
-
-/**
- * Migration tests for primitive array type serializers' snapshots.
- */
-@RunWith(Parameterized.class)
-public class PrimitiveArraySerializerSnapshotMigrationTest extends 
TypeSerializerSnapshotMigrationTestBase<Object> {
-
-       public 
PrimitiveArraySerializerSnapshotMigrationTest(TestSpecification<Object> 
testSpecification) {
-               super(testSpecification);
-       }
-
-       @SuppressWarnings("unchecked")
-       @Parameterized.Parameters(name = "Test Specification = {0}")
-       public static Collection<TestSpecification<?>> testSpecifications() {
-
-               final TestSpecifications testSpecifications = new 
TestSpecifications(MigrationVersion.v1_6, MigrationVersion.v1_7);
-
-               testSpecifications.add(
-                       "boolean-primitive-array-serializer",
-                       BooleanPrimitiveArraySerializer.class,
-                       
BooleanPrimitiveArraySerializer.BooleanPrimitiveArraySerializerSnapshot.class,
-                       () -> BooleanPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "byte-primitive-array-serializer",
-                       BytePrimitiveArraySerializer.class,
-                       
BytePrimitiveArraySerializer.BytePrimitiveArraySerializerSnapshot.class,
-                       () -> BytePrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "char-primitive-array-serializer",
-                       CharPrimitiveArraySerializer.class,
-                       
CharPrimitiveArraySerializer.CharPrimitiveArraySerializerSnapshot.class,
-                       () -> CharPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "double-primitive-array-serializer",
-                       DoublePrimitiveArraySerializer.class,
-                       
DoublePrimitiveArraySerializer.DoublePrimitiveArraySerializerSnapshot.class,
-                       () -> DoublePrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "float-primitive-array-serializer",
-                       FloatPrimitiveArraySerializer.class,
-                       
FloatPrimitiveArraySerializer.FloatPrimitiveArraySerializerSnapshot.class,
-                       () -> FloatPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "int-primitive-array-serializer",
-                       IntPrimitiveArraySerializer.class,
-                       
IntPrimitiveArraySerializer.IntPrimitiveArraySerializerSnapshot.class,
-                       () -> IntPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "long-primitive-array-serializer",
-                       LongPrimitiveArraySerializer.class,
-                       
LongPrimitiveArraySerializer.LongPrimitiveArraySerializerSnapshot.class,
-                       () -> LongPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "short-primitive-array-serializer",
-                       ShortPrimitiveArraySerializer.class,
-                       
ShortPrimitiveArraySerializer.ShortPrimitiveArraySerializerSnapshot.class,
-                       () -> ShortPrimitiveArraySerializer.INSTANCE);
-               testSpecifications.add(
-                       "string-array-serializer",
-                       StringArraySerializer.class,
-                       
StringArraySerializer.StringArraySerializerSnapshot.class,
-                       () -> StringArraySerializer.INSTANCE);
-
-               return testSpecifications.get();
-       }
-
-}
diff --git 
a/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTest.java
 
b/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTest.java
new file mode 100644
index 0000000..b783da3
--- /dev/null
+++ 
b/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTest.java
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+package org.apache.flink.api.common.typeutils.base.array;
+
+import org.apache.flink.api.common.typeutils.TypeSerializerUpgradeTestBase;
+import org.apache.flink.testutils.migration.MigrationVersion;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * Migration tests for primitive array type serializers' snapshots.
+ */
+@RunWith(Parameterized.class)
+public class PrimitiveArraySerializerUpgradeTest extends 
TypeSerializerUpgradeTestBase<Object, Object> {
+       public PrimitiveArraySerializerUpgradeTest(TestSpecification<Object, 
Object> testSpecification) {
+               super(testSpecification);
+       }
+
+       @Parameterized.Parameters(name = "Test Specification = {0}")
+       public static Collection<TestSpecification<?, ?>> testSpecifications() 
throws Exception {
+               ArrayList<TestSpecification<?, ?>> testSpecifications = new 
ArrayList<>();
+               for (MigrationVersion migrationVersion : MIGRATION_VERSIONS) {
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "boolean-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveBooleanArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveBooleanArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "byte-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveByteArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveByteArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "char-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveCharArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveCharArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "double-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveDoubleArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveDoubleArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "float-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveFloatArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveFloatArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "int-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveIntArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveIntArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "long-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveLongArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveLongArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "short-primitive-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveShortArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveShortArrayVerifier.class));
+                       testSpecifications.add(
+                               new TestSpecification<>(
+                               "string-array-serializer",
+                               migrationVersion,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveStringArraySetup.class,
+                               
PrimitiveArraySerializerUpgradeTestSpecifications.PrimitiveStringArrayVerifier.class));
+               }
+
+               return testSpecifications;
+       }
+}
+
diff --git 
a/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTestSpecifications.java
 
b/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTestSpecifications.java
new file mode 100644
index 0000000..c5a9729
--- /dev/null
+++ 
b/flink-core/src/test/java/org/apache/flink/api/common/typeutils/base/array/PrimitiveArraySerializerUpgradeTestSpecifications.java
@@ -0,0 +1,431 @@
+/*
+ * 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.
+ */
+
+package org.apache.flink.api.common.typeutils.base.array;
+
+import org.apache.flink.api.common.ExecutionConfig;
+import org.apache.flink.api.common.typeutils.TypeSerializer;
+import org.apache.flink.api.common.typeutils.TypeSerializerMatchers;
+import org.apache.flink.api.common.typeutils.TypeSerializerSchemaCompatibility;
+import org.apache.flink.api.common.typeutils.TypeSerializerUpgradeTestBase;
+import org.apache.flink.api.java.typeutils.TypeExtractor;
+import org.apache.flink.testutils.migration.MigrationVersion;
+
+import org.hamcrest.Matcher;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertSame;
+
+public class PrimitiveArraySerializerUpgradeTestSpecifications {
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive boolean array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveBooleanArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<boolean[]> {
+               @Override
+               public TypeSerializer<boolean[]> createPriorSerializer() {
+                       TypeSerializer<boolean[]> serializer = 
TypeExtractor.createTypeInfo(boolean[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
BooleanPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public boolean[] createTestData() {
+                       boolean[] data = new boolean[2];
+                       data[0] = true;
+                       data[1] = false;
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveBooleanArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<boolean[]> {
+               @Override
+               public TypeSerializer<boolean[]> createUpgradedSerializer() {
+                       TypeSerializer<boolean[]> serializer = 
TypeExtractor.createTypeInfo(boolean[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
BooleanPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<boolean[]> testDataMatcher() {
+                       boolean[] expected = new boolean[2];
+                       expected[0] = true;
+                       expected[1] = false;
+                       return is(expected);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<boolean[]>> 
schemaCompatibilityMatcher(
+                               MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive byte array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveByteArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<byte[]> {
+               @Override
+               public TypeSerializer<byte[]> createPriorSerializer() {
+                       TypeSerializer<byte[]> serializer = 
TypeExtractor.createTypeInfo(byte[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
BytePrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public byte[] createTestData() {
+                       byte[] dummy = new byte[10];
+                       for (int i = 0; i < dummy.length; ++i) {
+                               dummy[i] = (byte) i;
+                       }
+                       return dummy;
+               }
+       }
+
+       public static final class PrimitiveByteArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<byte[]> {
+               @Override
+               public TypeSerializer<byte[]> createUpgradedSerializer() {
+                       TypeSerializer<byte[]> serializer = 
TypeExtractor.createTypeInfo(byte[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
BytePrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<byte[]> testDataMatcher() {
+                       byte[] expected = new byte[10];
+                       for (int i = 0; i < expected.length; ++i) {
+                               expected[i] = (byte) i;
+                       }
+                       return is(expected);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<byte[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive char array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveCharArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<char[]> {
+               @Override
+               public TypeSerializer<char[]> createPriorSerializer() {
+                       TypeSerializer<char[]> serializer = 
TypeExtractor.createTypeInfo(char[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
CharPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public char[] createTestData() {
+                       char[] data = new char[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = (char) i;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveCharArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<char[]> {
+               @Override
+               public TypeSerializer<char[]> createUpgradedSerializer() {
+                       TypeSerializer<char[]> serializer = 
TypeExtractor.createTypeInfo(char[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
CharPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<char[]> testDataMatcher() {
+                       char[] data = new char[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = (char) i;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<char[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive double array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveDoubleArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<double[]> {
+               @Override
+               public TypeSerializer<double[]> createPriorSerializer() {
+                       TypeSerializer<double[]> serializer = 
TypeExtractor.createTypeInfo(double[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
DoublePrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public double[] createTestData() {
+                       double[] data = new double[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i + 0.1f;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveDoubleArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<double[]> {
+               @Override
+               public TypeSerializer<double[]> createUpgradedSerializer() {
+                       TypeSerializer<double[]> serializer = 
TypeExtractor.createTypeInfo(double[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
DoublePrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<double[]> testDataMatcher() {
+                       double[] data = new double[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i + 0.1f;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<double[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive float array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveFloatArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<float[]> {
+               @Override
+               public TypeSerializer<float[]> createPriorSerializer() {
+                       TypeSerializer<float[]> serializer = 
TypeExtractor.createTypeInfo(float[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
FloatPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public float[] createTestData() {
+                       float[] data = new float[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i + 0.2f;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveFloatArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<float[]> {
+               @Override
+               public TypeSerializer<float[]> createUpgradedSerializer() {
+                       TypeSerializer<float[]> serializer = 
TypeExtractor.createTypeInfo(float[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
FloatPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<float[]> testDataMatcher() {
+                       float[] data = new float[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i + 0.2f;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<float[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive int array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveIntArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<int[]> {
+               @Override
+               public TypeSerializer<int[]> createPriorSerializer() {
+                       TypeSerializer<int[]> serializer = 
TypeExtractor.createTypeInfo(int[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
IntPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public int[] createTestData() {
+                       int[] data = new int[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveIntArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<int[]> {
+               @Override
+               public TypeSerializer<int[]> createUpgradedSerializer() {
+                       TypeSerializer<int[]> serializer = 
TypeExtractor.createTypeInfo(int[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
IntPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<int[]> testDataMatcher() {
+                       int[] data = new int[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<int[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive long array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveLongArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<long[]> {
+               @Override
+               public TypeSerializer<long[]> createPriorSerializer() {
+                       TypeSerializer<long[]> serializer = 
TypeExtractor.createTypeInfo(long[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
LongPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public long[] createTestData() {
+                       long[] data = new long[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveLongArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<long[]> {
+               @Override
+               public TypeSerializer<long[]> createUpgradedSerializer() {
+                       TypeSerializer<long[]> serializer = 
TypeExtractor.createTypeInfo(long[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
LongPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<long[]> testDataMatcher() {
+                       long[] data = new long[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = i;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<long[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive short array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveShortArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<short[]> {
+               @Override
+               public TypeSerializer<short[]> createPriorSerializer() {
+                       TypeSerializer<short[]> serializer = 
TypeExtractor.createTypeInfo(short[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
ShortPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public short[] createTestData() {
+                       short[] data = new short[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = (short) i;
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveShortArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<short[]> {
+               @Override
+               public TypeSerializer<short[]> createUpgradedSerializer() {
+                       TypeSerializer<short[]> serializer = 
TypeExtractor.createTypeInfo(short[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
ShortPrimitiveArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<short[]> testDataMatcher() {
+                       short[] data = new short[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = (short) i;
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<short[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+       // 
----------------------------------------------------------------------------------------------
+       // Specification for "primitive string array"
+       // 
----------------------------------------------------------------------------------------------
+       public static final class PrimitiveStringArraySetup implements 
TypeSerializerUpgradeTestBase.PreUpgradeSetup<String[]> {
+               @Override
+               public TypeSerializer<String[]> createPriorSerializer() {
+                       TypeSerializer<String[]> serializer = 
TypeExtractor.createTypeInfo(String[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
StringArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public String[] createTestData() {
+                       String[] data = new String[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = String.valueOf(i);
+                       }
+                       return data;
+               }
+       }
+
+       public static final class PrimitiveStringArrayVerifier implements 
TypeSerializerUpgradeTestBase.UpgradeVerifier<String[]> {
+               @Override
+               public TypeSerializer<String[]> createUpgradedSerializer() {
+                       TypeSerializer<String[]> serializer = 
TypeExtractor.createTypeInfo(String[].class).createSerializer(new 
ExecutionConfig());
+                       assertSame(serializer.getClass(), 
StringArraySerializer.class);
+                       return serializer;
+               }
+
+               @Override
+               public Matcher<String[]> testDataMatcher() {
+                       String[] data = new String[10];
+                       for (int i = 0; i < data.length; ++i) {
+                               data[i] = String.valueOf(i);
+                       }
+                       return is(data);
+               }
+
+               @Override
+               public Matcher<TypeSerializerSchemaCompatibility<String[]>> 
schemaCompatibilityMatcher(MigrationVersion version) {
+                       return TypeSerializerMatchers.isCompatibleAsIs();
+               }
+       }
+
+}
+
diff --git 
a/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-data
 
b/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-data
deleted file mode 100644
index 2a22d35..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-data
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-snapshot
deleted file mode 100644
index 2558994..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-boolean-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-data
deleted file mode 100644
index 9e71b0f..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-snapshot
deleted file mode 100644
index 2938a7c..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-byte-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-data
deleted file mode 100644
index d267c92..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-snapshot
deleted file mode 100644
index 412c1f0..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-char-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-data
 
b/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-data
deleted file mode 100644
index 200fe9c..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-data
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-snapshot
deleted file mode 100644
index 28a8182..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-double-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-data
deleted file mode 100644
index 771461a..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-snapshot
deleted file mode 100644
index 970c5be..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-float-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-data
deleted file mode 100644
index bce445f..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-snapshot
deleted file mode 100644
index 3e054e9..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-int-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-data
deleted file mode 100644
index 0b0ce3d..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-snapshot
deleted file mode 100644
index 1f8f8e1..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-long-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-data
deleted file mode 100644
index 4f0df79..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-snapshot
deleted file mode 100644
index 94ae742..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.6-short-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-data
 
b/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-data
deleted file mode 100644
index 96acd9c..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-data
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-snapshot
deleted file mode 100644
index 7001c14..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-boolean-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-data
deleted file mode 100644
index 8956669..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-snapshot
deleted file mode 100644
index a9cba34..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-byte-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-data
deleted file mode 100644
index 918413b..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-snapshot
deleted file mode 100644
index 3f7deae..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-char-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-data
 
b/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-data
deleted file mode 100644
index 16e6183..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-data
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-snapshot
deleted file mode 100644
index 3e4ee96..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-double-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-data
deleted file mode 100644
index e5371bb..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-snapshot
deleted file mode 100644
index 7e01a51..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-float-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-data
deleted file mode 100644
index 6966366..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-snapshot
deleted file mode 100644
index 6ef72a2..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-int-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-data
deleted file mode 100644
index 267bb12..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-snapshot
deleted file mode 100644
index eec2da3..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-long-primitive-array-serializer-snapshot
 and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-data 
b/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-data
deleted file mode 100644
index 9dcf64f..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-data 
and /dev/null differ
diff --git 
a/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-snapshot
 
b/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-snapshot
deleted file mode 100644
index e07dc66..0000000
Binary files 
a/flink-core/src/test/resources/flink-1.7-short-primitive-array-serializer-snapshot
 and /dev/null differ

Reply via email to