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

eolivelli pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.7 by this push:
     new e657e36  Issue #11037: Fix flaky test PrimitiveSchemaTest (#11038)
e657e36 is described below

commit e657e369468ecd989f672cba5c804df09ce1bf34
Author: Enrico Olivelli <[email protected]>
AuthorDate: Wed Jun 23 16:09:02 2021 +0200

    Issue #11037: Fix flaky test PrimitiveSchemaTest (#11038)
    
    (cherry picked from commit dac74fdf62e228be25fd899be30f61e473faec85)
---
 .../client/impl/schema/PrimitiveSchemaTest.java    | 101 ++++++++++++---------
 1 file changed, 57 insertions(+), 44 deletions(-)

diff --git 
a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/PrimitiveSchemaTest.java
 
b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/PrimitiveSchemaTest.java
index a2efb25..d177195 100644
--- 
a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/PrimitiveSchemaTest.java
+++ 
b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/PrimitiveSchemaTest.java
@@ -20,6 +20,7 @@ package org.apache.pulsar.client.impl.schema;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertNull;
 
 import io.netty.buffer.ByteBuf;
@@ -48,53 +49,65 @@ import org.testng.annotations.Test;
 @Slf4j
 public class PrimitiveSchemaTest {
 
-    private static final Map<Schema, List<Object>> testData = new HashMap() {
-        {
-            put(BooleanSchema.of(), Arrays.asList(false, true));
-            put(StringSchema.utf8(), Arrays.asList("my string"));
-            put(ByteSchema.of(), Arrays.asList((byte) 32767, (byte) -32768));
-            put(ShortSchema.of(), Arrays.asList((short) 32767, (short) 
-32768));
-            put(IntSchema.of(), Arrays.asList((int) 423412424, (int) 
-41243432));
-            put(LongSchema.of(), Arrays.asList(922337203685477580L, 
-922337203685477581L));
-            put(FloatSchema.of(), Arrays.asList(5678567.12312f, 
-5678567.12341f));
-            put(DoubleSchema.of(), Arrays.asList(5678567.12312d, 
-5678567.12341d));
-            put(BytesSchema.of(), Arrays.asList("my string".getBytes(UTF_8)));
-            put(ByteBufferSchema.of(), 
Arrays.asList(ByteBuffer.allocate(10).put("my string".getBytes(UTF_8))));
-            put(ByteBufSchema.of(), Arrays.asList(Unpooled.wrappedBuffer("my 
string".getBytes(UTF_8))));
-            put(DateSchema.of(), Arrays.asList(new Date(new 
java.util.Date().getTime() - 10000), new Date(new java.util.Date().getTime())));
-            put(TimeSchema.of(), Arrays.asList(new Time(new 
java.util.Date().getTime() - 10000), new Time(new java.util.Date().getTime())));
-            put(TimestampSchema.of(), Arrays.asList(new Timestamp(new 
java.util.Date().getTime()), new Timestamp(new java.util.Date().getTime())));
-            put(InstantSchema.of(), Arrays.asList(Instant.now(), 
Instant.now().minusSeconds(60*23L)));
-            put(LocalDateSchema.of(), Arrays.asList(LocalDate.now(), 
LocalDate.now().minusDays(2)));
-            put(LocalTimeSchema.of(), Arrays.asList(LocalTime.now(), 
LocalTime.now().minusHours(2)));
-            put(LocalDateTimeSchema.of(), Arrays.asList(LocalDateTime.now(), 
LocalDateTime.now().minusDays(2), LocalDateTime.now().minusWeeks(10)));
-        }
-    };
-
-    private static final Map<Schema, List<Object>> testData2 = new HashMap() {
-        {
-            put(Schema.BOOL, Arrays.asList(false, true));
-            put(Schema.STRING, Arrays.asList("my string"));
-            put(Schema.INT8, Arrays.asList((byte) 32767, (byte) -32768));
-            put(Schema.INT16, Arrays.asList((short) 32767, (short) -32768));
-            put(Schema.INT32, Arrays.asList((int) 423412424, (int) -41243432));
-            put(Schema.INT64, Arrays.asList(922337203685477580L, 
-922337203685477581L));
-            put(Schema.FLOAT, Arrays.asList(5678567.12312f, -5678567.12341f));
-            put(Schema.DOUBLE, Arrays.asList(5678567.12312d, -5678567.12341d));
-            put(Schema.BYTES, Arrays.asList("my string".getBytes(UTF_8)));
-            put(Schema.BYTEBUFFER, 
Arrays.asList(ByteBuffer.allocate(10).put("my string".getBytes(UTF_8))));
-            put(Schema.DATE, Arrays.asList(new Date(new 
java.util.Date().getTime() - 10000), new Date(new java.util.Date().getTime())));
-            put(Schema.TIME, Arrays.asList(new Time(new 
java.util.Date().getTime() - 10000), new Time(new java.util.Date().getTime())));
-            put(Schema.TIMESTAMP, Arrays.asList(new Timestamp(new 
java.util.Date().getTime() - 10000), new Timestamp(new 
java.util.Date().getTime())));
-            put(Schema.INSTANT, Arrays.asList(Instant.now(), 
Instant.now().minusSeconds(60*23L)));
-            put(Schema.LOCAL_DATE, Arrays.asList(LocalDate.now(), 
LocalDate.now().minusDays(2)));
-            put(Schema.LOCAL_TIME, Arrays.asList(LocalTime.now(), 
LocalTime.now().minusHours(2)));
-            put(Schema.LOCAL_DATE_TIME, Arrays.asList(LocalDateTime.now(), 
LocalDateTime.now().minusDays(2), LocalDateTime.now().minusWeeks(10)));
-        }
-    };
 
     @DataProvider(name = "schemas")
     public Object[][] schemas() {
+
+        // we are not using a static initialization block, see here:
+        // https://github.com/apache/pulsar/issues/11037
+
+        final Map<Schema, List<Object>> testData = new HashMap() {
+            {
+                put(BooleanSchema.of(), Arrays.asList(false, true));
+                put(StringSchema.utf8(), Arrays.asList("my string"));
+                put(ByteSchema.of(), Arrays.asList((byte) 32767, (byte) 
-32768));
+                put(ShortSchema.of(), Arrays.asList((short) 32767, (short) 
-32768));
+                put(IntSchema.of(), Arrays.asList((int) 423412424, (int) 
-41243432));
+                put(LongSchema.of(), Arrays.asList(922337203685477580L, 
-922337203685477581L));
+                put(FloatSchema.of(), Arrays.asList(5678567.12312f, 
-5678567.12341f));
+                put(DoubleSchema.of(), Arrays.asList(5678567.12312d, 
-5678567.12341d));
+                put(BytesSchema.of(), Arrays.asList("my 
string".getBytes(UTF_8)));
+                put(ByteBufferSchema.of(), 
Arrays.asList(ByteBuffer.allocate(10).put("my string".getBytes(UTF_8))));
+                put(ByteBufSchema.of(), 
Arrays.asList(Unpooled.wrappedBuffer("my string".getBytes(UTF_8))));
+                put(DateSchema.of(), Arrays.asList(new Date(new 
java.util.Date().getTime() - 10000), new Date(new java.util.Date().getTime())));
+                put(TimeSchema.of(), Arrays.asList(new Time(new 
java.util.Date().getTime() - 10000), new Time(new java.util.Date().getTime())));
+                put(TimestampSchema.of(), Arrays.asList(new Timestamp(new 
java.util.Date().getTime()), new Timestamp(new java.util.Date().getTime())));
+                put(InstantSchema.of(), Arrays.asList(Instant.now(), 
Instant.now().minusSeconds(60*23L)));
+                put(LocalDateSchema.of(), Arrays.asList(LocalDate.now(), 
LocalDate.now().minusDays(2)));
+                put(LocalTimeSchema.of(), Arrays.asList(LocalTime.now(), 
LocalTime.now().minusHours(2)));
+                put(LocalDateTimeSchema.of(), 
Arrays.asList(LocalDateTime.now(), LocalDateTime.now().minusDays(2), 
LocalDateTime.now().minusWeeks(10)));
+            }
+        };
+
+        final Map<Schema, List<Object>> testData2 = new HashMap() {
+            {
+                put(Schema.BOOL, Arrays.asList(false, true));
+                put(Schema.STRING, Arrays.asList("my string"));
+                put(Schema.INT8, Arrays.asList((byte) 32767, (byte) -32768));
+                put(Schema.INT16, Arrays.asList((short) 32767, (short) 
-32768));
+                put(Schema.INT32, Arrays.asList((int) 423412424, (int) 
-41243432));
+                put(Schema.INT64, Arrays.asList(922337203685477580L, 
-922337203685477581L));
+                put(Schema.FLOAT, Arrays.asList(5678567.12312f, 
-5678567.12341f));
+                put(Schema.DOUBLE, Arrays.asList(5678567.12312d, 
-5678567.12341d));
+                put(Schema.BYTES, Arrays.asList("my string".getBytes(UTF_8)));
+                put(Schema.BYTEBUFFER, 
Arrays.asList(ByteBuffer.allocate(10).put("my string".getBytes(UTF_8))));
+                put(Schema.DATE, Arrays.asList(new Date(new 
java.util.Date().getTime() - 10000), new Date(new java.util.Date().getTime())));
+                put(Schema.TIME, Arrays.asList(new Time(new 
java.util.Date().getTime() - 10000), new Time(new java.util.Date().getTime())));
+                put(Schema.TIMESTAMP, Arrays.asList(new Timestamp(new 
java.util.Date().getTime() - 10000), new Timestamp(new 
java.util.Date().getTime())));
+                put(Schema.INSTANT, Arrays.asList(Instant.now(), 
Instant.now().minusSeconds(60*23L)));
+                put(Schema.LOCAL_DATE, Arrays.asList(LocalDate.now(), 
LocalDate.now().minusDays(2)));
+                put(Schema.LOCAL_TIME, Arrays.asList(LocalTime.now(), 
LocalTime.now().minusHours(2)));
+                put(Schema.LOCAL_DATE_TIME, Arrays.asList(LocalDateTime.now(), 
LocalDateTime.now().minusDays(2), LocalDateTime.now().minusWeeks(10)));
+            }
+        };
+
+        for (Schema schema : testData.keySet()) {
+            assertNotNull(schema);
+        }
+        for (Schema schema : testData2.keySet()) {
+            assertNotNull(schema);
+        }
+
         return new Object[][] { { testData }, { testData2 } };
     }
 

Reply via email to