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
