Repository: ignite Updated Branches: refs/heads/master f2dedcab2 -> 507ac6756
IGNITE-5732 Provide API to test compatibility with old releases (HotFix - TeamCity) Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/507ac675 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/507ac675 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/507ac675 Branch: refs/heads/master Commit: 507ac67568743cd0838d0822979022a698a79957 Parents: f2dedca Author: Vyacheslav Daradur <[email protected]> Authored: Thu Sep 28 15:42:11 2017 +0300 Committer: Anton Vinogradov <[email protected]> Committed: Thu Sep 28 15:42:11 2017 +0300 ---------------------------------------------------------------------- ...nitePersistenceCompatibilityAbstractTest.java | 2 +- .../junits/IgniteCompatibilityAbstractTest.java | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/507ac675/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IgnitePersistenceCompatibilityAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IgnitePersistenceCompatibilityAbstractTest.java b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IgnitePersistenceCompatibilityAbstractTest.java index 6eb49e4..87c24cb 100644 --- a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IgnitePersistenceCompatibilityAbstractTest.java +++ b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IgnitePersistenceCompatibilityAbstractTest.java @@ -28,7 +28,7 @@ import org.apache.ignite.internal.util.typedef.internal.U; /** * Super class for all persistence compatibility tests. */ -public class IgnitePersistenceCompatibilityAbstractTest extends IgniteCompatibilityAbstractTest { +public abstract class IgnitePersistenceCompatibilityAbstractTest extends IgniteCompatibilityAbstractTest { /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); http://git-wip-us.apache.org/repos/asf/ignite/blob/507ac675/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java index 728227a..07d63fd 100644 --- a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java +++ b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java @@ -18,6 +18,8 @@ package org.apache.ignite.compatibility.testframework.junits; import java.io.File; +import java.net.URL; +import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Collection; import java.util.UUID; @@ -30,10 +32,8 @@ import org.apache.ignite.compatibility.testframework.util.MavenUtils; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.processors.resource.GridSpringResourceContext; -import org.apache.ignite.internal.util.lang.GridAbsPredicate; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteInClosure; -import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy; import org.jetbrains.annotations.Nullable; @@ -42,6 +42,9 @@ import org.jetbrains.annotations.Nullable; * Super class for all compatibility tests. */ public abstract class IgniteCompatibilityAbstractTest extends GridCommonAbstractTest { + /** */ + private static final ClassLoader CLASS_LOADER = IgniteCompatibilityAbstractTest.class.getClassLoader(); + /** Using for synchronization of nodes startup in case of starting remote nodes first. */ public static final String SYNCHRONIZATION_LOG_MESSAGE_PREPARED = "[Compatibility] Node has been started, id="; @@ -160,16 +163,16 @@ public abstract class IgniteCompatibilityAbstractTest extends GridCommonAbstract filteredJvmArgs.add(arg); } - String classPath = System.getProperty("java.class.path"); - - String[] paths = classPath.split(File.pathSeparator); + URLClassLoader ldr = (URLClassLoader)CLASS_LOADER; StringBuilder pathBuilder = new StringBuilder(); - String corePathTemplate = "ignite.modules.core.target.classes".replace(".", File.separator); - String coreTestsPathTemplate = "ignite.modules.core.target.test-classes".replace(".", File.separator); + String corePathTemplate = "modules/core/target/classes"; + String coreTestsPathTemplate = "modules/core/target/test-classes"; + + for (URL url : ldr.getURLs()) { + String path = url.getPath(); - for (String path : paths) { if (!path.contains(corePathTemplate) && !path.contains(coreTestsPathTemplate)) pathBuilder.append(path).append(File.pathSeparator); }
