chia7712 commented on a change in pull request #9906: URL: https://github.com/apache/kafka/pull/9906#discussion_r562029718
########## File path: clients/src/test/java/org/apache/kafka/common/record/MemoryRecordsBuilderTest.java ########## @@ -27,112 +27,81 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.ArgumentsProvider; import org.junit.jupiter.params.provider.ArgumentsSource; -import org.junit.jupiter.params.provider.EnumSource; -import org.junit.jupiter.params.support.AnnotationConsumer; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Random; -import java.util.function.BiPredicate; import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; -import static java.util.Arrays.asList; -import static org.apache.kafka.common.record.RecordBatch.CURRENT_MAGIC_VALUE; -import static org.apache.kafka.common.record.RecordBatch.MAGIC_VALUE_V0; -import static org.apache.kafka.common.record.RecordBatch.MAGIC_VALUE_V1; -import static org.apache.kafka.common.record.RecordBatch.MAGIC_VALUE_V2; import static org.apache.kafka.common.utils.Utils.utf8; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; public class MemoryRecordsBuilderTest { private static class Args { final int bufferOffset; - final byte magic; final CompressionType compressionType; - public Args(int bufferOffset, byte magic, CompressionType compressionType) { + public Args(int bufferOffset, CompressionType compressionType) { this.bufferOffset = bufferOffset; - this.magic = magic; this.compressionType = compressionType; } @Override public String toString() { - return "Args{" + - "bufferOffset=" + bufferOffset + - ", magic=" + magic + - ", compressionType=" + compressionType + - '}'; + return "bufferOffset=" + bufferOffset + + ", compressionType=" + compressionType; } } - private static Stream<Arguments> allArguments(BiPredicate<Byte, CompressionType> accept) { + private static Stream<Arguments> allArguments(Predicate<CompressionType> accept) { List<Arguments> values = new ArrayList<>(); for (int bufferOffset : Arrays.asList(0, 15)) - for (byte magic : asList(RecordBatch.MAGIC_VALUE_V0, RecordBatch.MAGIC_VALUE_V1, RecordBatch.MAGIC_VALUE_V2)) - for (CompressionType compressionType : CompressionType.values()) - if (accept.test(magic, compressionType)) - values.add(Arguments.of(new Args(bufferOffset, magic, compressionType))); + for (CompressionType compressionType : CompressionType.values()) + if (accept.test(compressionType)) + values.add(Arguments.of(new Args(bufferOffset, compressionType))); return values.stream(); } - private static class MemoryRecordsBuilderArgumentsProvider implements ArgumentsProvider, AnnotationConsumer<RecordBuilderSource> { - - private RecordBuilderSource recordSource; - private BiPredicate<Byte, CompressionType> validCompress = (magic, type) -> type != CompressionType.ZSTD || magic >= MAGIC_VALUE_V2; - + private static class MemoryRecordsBuilderArgumentsProvider implements ArgumentsProvider { @Override public Stream<? extends Arguments> provideArguments(ExtensionContext context) { - Predicate<Byte> predicate = magic -> recordSource.minMagic() <= magic && magic <= recordSource.maxMagic(); - return allArguments((magic, type) -> (recordSource.haveInvalidCompress() || validCompress.test(magic, type)) && predicate.test(magic)); + return allArguments(type -> true); } + } + private static class NotZstd implements ArgumentsProvider { Review comment: Please add comment for this suite. ########## File path: clients/src/test/java/org/apache/kafka/common/record/MemoryRecordsBuilderTest.java ########## @@ -423,30 +455,32 @@ public void buildUsingCreateTime(Args args) { } @ParameterizedTest - @RecordBuilderSource + @ArgumentsSource(NotZstd.class) public void testAppendedChecksumConsistency(Args args) { Review comment: this test case should test zstd + magic_2. We can changes the magic code according to compression type. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org