From ea26901b0db36dd21a1ebc93e2b2bc28c82a42b6 Mon Sep 17 00:00:00 2001 From: Bharati Kulkarni Date: Thu, 1 Dec 2022 21:11:48 -0600 Subject: [PATCH 1/2] Fix Flaky Test --- .../apache/skywalking/apm/util/ConfigInitializerTest.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java b/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java index 53c5a78082..7d821fd311 100644 --- a/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java +++ b/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java @@ -67,8 +67,12 @@ public void testInitialize() throws IllegalAccessException { Assert.assertArrayEquals(new Integer[]{1, 2, 3, 4}, TestPropertiesObject.Level1Object.LIST_INT_ATTR_ED2.toArray()); Assert.assertArrayEquals(new String[]{}, TestPropertiesObject.Level1Object.SET_STR_EMPTY_ATTR.toArray()); Assert.assertArrayEquals(new Boolean[]{true, false}, TestPropertiesObject.Level1Object.LIST_BOOL_ATTR.toArray()); - Assert.assertArrayEquals(new String[]{"a", "b", "c", "d"}, TestPropertiesObject.Level1Object.SET_STR_ATTR.toArray()); - Assert.assertArrayEquals(new Integer[]{1, 2, 3, 4}, TestPropertiesObject.Level1Object.SET_INT_ATTR.toArray()); + Object[] setStrAttrArray = TestPropertiesObject.Level1Object.SET_STR_ATTR.toArray(); + Arrays.sort(setStrAttrArray); + Assert.assertArrayEquals(new String[]{"a", "b", "c", "d"}, setStrAttrArray); + Object[] setIntAttrArray = TestPropertiesObject.Level1Object.SET_INT_ATTR.toArray(); + Arrays.sort(setIntAttrArray); + Assert.assertArrayEquals(new Integer[]{1, 2, 3, 4}, setIntAttrArray); Assert.assertArrayEquals(new Boolean[]{true}, TestPropertiesObject.Level1Object.SET_BOOL_ATTR.toArray()); Assert.assertEquals(TestColorEnum.RED, TestPropertiesObject.Level1Object.Level2Object.ENUM_ATTR); //make sure that when descs is empty,toString() work right; From ab9cd4c80884aa35d605b13b14b63eb0e7c903c1 Mon Sep 17 00:00:00 2001 From: Bharati Kulkarni Date: Mon, 5 Dec 2022 12:25:38 -0600 Subject: [PATCH 2/2] Updated Fix --- .../skywalking/apm/util/ConfigInitializerTest.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java b/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java index 7d821fd311..44420e4067 100644 --- a/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java +++ b/apm-commons/apm-util/src/test/java/org/apache/skywalking/apm/util/ConfigInitializerTest.java @@ -21,6 +21,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.mockito.internal.util.collections.Sets; import java.util.Arrays; import java.util.HashMap; @@ -67,12 +68,8 @@ public void testInitialize() throws IllegalAccessException { Assert.assertArrayEquals(new Integer[]{1, 2, 3, 4}, TestPropertiesObject.Level1Object.LIST_INT_ATTR_ED2.toArray()); Assert.assertArrayEquals(new String[]{}, TestPropertiesObject.Level1Object.SET_STR_EMPTY_ATTR.toArray()); Assert.assertArrayEquals(new Boolean[]{true, false}, TestPropertiesObject.Level1Object.LIST_BOOL_ATTR.toArray()); - Object[] setStrAttrArray = TestPropertiesObject.Level1Object.SET_STR_ATTR.toArray(); - Arrays.sort(setStrAttrArray); - Assert.assertArrayEquals(new String[]{"a", "b", "c", "d"}, setStrAttrArray); - Object[] setIntAttrArray = TestPropertiesObject.Level1Object.SET_INT_ATTR.toArray(); - Arrays.sort(setIntAttrArray); - Assert.assertArrayEquals(new Integer[]{1, 2, 3, 4}, setIntAttrArray); + Assert.assertEquals(Sets.newSet("a", "b", "c", "d"), TestPropertiesObject.Level1Object.SET_STR_ATTR); + Assert.assertEquals(Sets.newSet(1, 2, 3, 4), TestPropertiesObject.Level1Object.SET_INT_ATTR); Assert.assertArrayEquals(new Boolean[]{true}, TestPropertiesObject.Level1Object.SET_BOOL_ATTR.toArray()); Assert.assertEquals(TestColorEnum.RED, TestPropertiesObject.Level1Object.Level2Object.ENUM_ATTR); //make sure that when descs is empty,toString() work right;