Avoid cache miss for @ActiveProfiles w/ same profiles but different order
Prior to this commit, two @ActiveProfiles declarations with the same
profiles but different order resulted in an identical duplicate
ApplicationContext in the context cache in the Spring TestContext
Framework.
This commit uses a TreeSet to ensure that registered active profiles
are both unique and sorted, thereby avoiding cache misses for
semantically identical active profiles configuration on different test
classes.
Closes gh-25973
@ -533,8 +533,8 @@ public class MergedContextConfiguration implements Serializable {
@@ -533,8 +533,8 @@ public class MergedContextConfiguration implements Serializable {
@ -59,7 +59,7 @@ public class DefaultActiveProfilesResolver implements ActiveProfilesResolver {
@@ -59,7 +59,7 @@ public class DefaultActiveProfilesResolver implements ActiveProfilesResolver {
publicString[]resolve(Class<?>testClass){
Assert.notNull(testClass,"Class must not be null");
@ -65,12 +65,12 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@@ -65,12 +65,12 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@ -90,12 +90,12 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@@ -90,12 +90,12 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@ -127,7 +127,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@@ -127,7 +127,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@ -135,7 +135,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@@ -135,7 +135,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@ -159,7 +159,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT
@@ -159,7 +159,7 @@ public class ActiveProfilesUtilsTests extends AbstractContextConfigurationUtilsT