http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
deleted file mode 100644
index 32b1a19..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
+++ /dev/null
@@ -1,1434 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits;
-
-import junit.framework.*;
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.util.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.marshaller.*;
-import org.apache.ignite.marshaller.jdk.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.apache.log4j.*;
-import org.apache.ignite.internal.processors.license.*;
-import org.apache.ignite.internal.processors.resource.*;
-import org.apache.ignite.spi.checkpoint.sharedfs.*;
-import org.apache.ignite.spi.communication.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.config.*;
-import org.jetbrains.annotations.*;
-import org.springframework.beans.*;
-import org.springframework.context.*;
-import org.springframework.context.support.*;
-
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicWriteOrderMode.*;
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Common abstract test for GridGain tests.
- */
-@SuppressWarnings({
-    "TransientFieldInNonSerializableClass",
-    "ProhibitedExceptionDeclared",
-    "JUnitTestCaseWithNonTrivialConstructors"
-})
-public abstract class GridAbstractTest extends TestCase {
-    /**************************************************************
-     * DO NOT REMOVE TRANSIENT - THIS OBJECT MIGHT BE TRANSFERRED *
-     *                  TO ANOTHER NODE.                          *
-     **************************************************************/
-    /** Null name for execution map. */
-    private static final String NULL_NAME = UUID.randomUUID().toString();
-
-    /** */
-    private static final long DFLT_TEST_TIMEOUT = 5 * 60 * 1000;
-
-    /** */
-    private static final transient Map<Class<?>, TestCounters> tests = new 
ConcurrentHashMap<>();
-
-    /** */
-    private transient boolean startGrid;
-
-    /** */
-    protected transient IgniteLogger log;
-
-    /** */
-    private transient ClassLoader clsLdr;
-
-    /** */
-    private transient boolean stopGridErr;
-
-    /** Timestamp for tests. */
-    private static long ts = System.currentTimeMillis();
-
-    static {
-        
System.setProperty(IgniteSystemProperties.GG_ATOMIC_CACHE_DELETE_HISTORY_SIZE, 
"10000");
-
-        Thread timer = new Thread(new GridTestClockTimer(), 
"gridgain-clock-for-tests");
-
-        timer.setDaemon(true);
-
-        timer.setPriority(10);
-
-        timer.start();
-    }
-
-    /** */
-    protected GridAbstractTest() {
-        this(false);
-
-        log = 
getTestCounters().getTestResources().getLogger().getLogger(getClass());
-    }
-
-    /**
-     * @param startGrid Start grid flag.
-     */
-    @SuppressWarnings({"OverriddenMethodCallDuringObjectConstruction"})
-    protected GridAbstractTest(boolean startGrid) {
-        assert isJunitFrameworkClass() : "GridAbstractTest class cannot be 
extended directly " +
-            "(use GridCommonAbstractTest class instead).";
-
-        // Initialize properties. Logger initialized here.
-        GridTestProperties.init();
-
-        log = 
getTestCounters().getTestResources().getLogger().getLogger(getClass());
-
-        this.startGrid = startGrid;
-    }
-
-    /**
-     * @param cls Class to create.
-     * @return Instance of class.
-     * @throws Exception If failed.
-     */
-    protected <T> T allocateInstance(Class<T> cls) throws Exception {
-        return (T)GridUnsafe.unsafe().allocateInstance(cls);
-    }
-
-    /**
-     * @param cls Class to create.
-     * @return Instance of class.
-     */
-    @Nullable protected <T> T allocateInstance0(Class<T> cls) {
-        try {
-            return (T)GridUnsafe.unsafe().allocateInstance(cls);
-        }
-        catch (InstantiationException e) {
-            e.printStackTrace();
-
-            return null;
-        }
-    }
-
-    /**
-     * @return Flag to check if class is Junit framework class.
-     */
-    protected boolean isJunitFrameworkClass() {
-        return false;
-    }
-
-    /**
-     * @return Test resources.
-     */
-    protected GridTestResources getTestResources() {
-        return getTestCounters().getTestResources();
-    }
-
-    /**
-     * @param msg Message to print.
-     */
-    protected void info(String msg) {
-        if (log().isInfoEnabled())
-            log().info(msg);
-    }
-
-    /**
-     * @param msg Message to print.
-     */
-    protected void error(String msg) {
-        log().error(msg);
-    }
-
-    /**
-     * @param msg Message to print.
-     * @param t Error to print.
-     */
-    protected void error(String msg, Throwable t) {
-        log().error(msg, t);
-    }
-
-    /**
-     * @return logger.
-     */
-    protected IgniteLogger log() {
-        return log;
-    }
-
-    /**
-     * Resets log4j programmatically.
-     *
-     * @param log4jLevel Level.
-     * @param logToFile If {@code true}, then log to file under "work/log" 
folder.
-     * @param cat Category.
-     * @param cats Additional categories.
-     */
-    @SuppressWarnings({"deprecation"})
-    protected void resetLog4j(Level log4jLevel, boolean logToFile, String cat, 
String... cats) {
-        for (String c : F.concat(false, cat, F.asList(cats)))
-            Logger.getLogger(c).setLevel(log4jLevel);
-
-        if (logToFile) {
-            Logger log4j = Logger.getRootLogger();
-
-            log4j.removeAllAppenders();
-
-            // Console appender.
-            ConsoleAppender c = new ConsoleAppender();
-
-            c.setName("CONSOLE_ERR");
-            c.setTarget("System.err");
-            c.setThreshold(Priority.WARN);
-            c.setLayout(new PatternLayout("[%d{ABSOLUTE}][%-5p][%t][%c{1}] 
%m%n"));
-
-            c.activateOptions();
-
-            log4j.addAppender(c);
-
-            // File appender.
-            RollingFileAppender file = new RollingFileAppender();
-
-            file.setName("FILE");
-            file.setThreshold(log4jLevel);
-            file.setFile(home() + "/work/log/gridgain.log");
-            file.setAppend(false);
-            file.setMaxFileSize("10MB");
-            file.setMaxBackupIndex(10);
-            file.setLayout(new PatternLayout("[%d{ABSOLUTE}][%-5p][%t][%c{1}] 
%m%n"));
-
-            file.activateOptions();
-
-            log4j.addAppender(file);
-        }
-    }
-
-    /**
-     * Executes runnable and prints out how long it took.
-     *
-     * @param name Name of execution.
-     * @param r Runnable to execute.
-     */
-    protected void time(String name, Runnable r) {
-        System.gc();
-
-        long start = System.currentTimeMillis();
-
-        r.run();
-
-        long dur = System.currentTimeMillis() - start;
-
-        info(name + " took " + dur + "ms.");
-    }
-
-    /**
-     * Runs given code in multiple threads and synchronously waits for all 
threads to complete.
-     * If any thread failed, exception will be thrown out of this method.
-     *
-     * @param r Runnable.
-     * @param threadNum Thread number.
-     * @throws Exception If failed.
-     */
-    protected void multithreaded(Runnable r, int threadNum) throws Exception {
-        multithreaded(r, threadNum, getTestGridName());
-    }
-
-    /**
-     * Runs given code in multiple threads and synchronously waits for all
-     * threads to complete. If any thread failed, exception will be thrown
-     * out of this method.
-     *
-     * @param r Runnable.
-     * @param threadNum Thread number.
-     * @param threadName Thread name.
-     * @throws Exception If failed.
-     */
-    protected void multithreaded(Runnable r, int threadNum, String threadName) 
throws Exception {
-        GridTestUtils.runMultiThreaded(r, threadNum, threadName);
-    }
-
-    /**
-     * Runs given code in multiple threads. Returns future that ends upon
-     * threads completion. If any thread failed, exception will be thrown
-     * out of this method.
-     *
-     * @param r Runnable.
-     * @param threadNum Thread number.
-     * @throws Exception If failed.
-     * @return Future.
-     */
-    protected IgniteFuture<?> multithreadedAsync(Runnable r, int threadNum) 
throws Exception {
-        return multithreadedAsync(r, threadNum, getTestGridName());
-    }
-
-    /**
-     * Runs given code in multiple threads. Returns future that ends upon
-     * threads completion. If any thread failed, exception will be thrown
-     * out of this method.
-     *
-     * @param r Runnable.
-     * @param threadNum Thread number.
-     * @param threadName Thread name.
-     * @throws Exception If failed.
-     * @return Future.
-     */
-    protected IgniteFuture<?> multithreadedAsync(Runnable r, int threadNum, 
String threadName) throws Exception {
-        return GridTestUtils.runMultiThreadedAsync(r, threadNum, threadName);
-    }
-
-    /**
-     * Runs given code in multiple threads and synchronously waits for all 
threads to complete.
-     * If any thread failed, exception will be thrown out of this method.
-     *
-     * @param c Callable.
-     * @param threadNum Thread number.
-     * @throws Exception If failed.
-     */
-    protected void multithreaded(Callable<?> c, int threadNum) throws 
Exception {
-        multithreaded(c, threadNum, getTestGridName());
-    }
-
-    /**
-     * Runs given code in multiple threads and synchronously waits for all 
threads to complete.
-     * If any thread failed, exception will be thrown out of this method.
-     *
-     * @param c Callable.
-     * @param threadNum Thread number.
-     * @param threadName Thread name.
-     * @throws Exception If failed.
-     */
-    protected void multithreaded(Callable<?> c, int threadNum, String 
threadName) throws Exception {
-        GridTestUtils.runMultiThreaded(c, threadNum, threadName);
-    }
-
-    /**
-     * Runs given code in multiple threads and asynchronously waits for all 
threads to complete.
-     * If any thread failed, exception will be thrown out of this method.
-     *
-     * @param c Callable.
-     * @param threadNum Thread number.
-     * @throws Exception If failed.
-     * @return Future.
-     */
-    protected IgniteFuture<?> multithreadedAsync(Callable<?> c, int threadNum) 
throws Exception {
-        return multithreadedAsync(c, threadNum, getTestGridName());
-    }
-
-    /**
-     * Runs given code in multiple threads and asynchronously waits for all 
threads to complete.
-     * If any thread failed, exception will be thrown out of this method.
-     *
-     * @param c Callable.
-     * @param threadNum Thread number.
-     * @param threadName Thread name.
-     * @throws Exception If failed.
-     * @return Future.
-     */
-    protected IgniteFuture<?> multithreadedAsync(Callable<?> c, int threadNum, 
String threadName) throws Exception {
-        return GridTestUtils.runMultiThreadedAsync(c, threadNum, threadName);
-    }
-
-    /**
-     * @return Test kernal context.
-     */
-    protected GridTestKernalContext newContext() {
-        GridTestKernalContext ctx = new GridTestKernalContext();
-
-        ctx.config().setGridLogger(log());
-
-        return ctx;
-    }
-
-    /**
-     * Called before execution of every test method in class.
-     *
-     * @throws Exception If failed. {@link #afterTest()} will be called in 
this case.
-     */
-    protected void beforeTest() throws Exception {
-        // No-op.
-    }
-
-    /**
-     * Called after execution of every test method in class or
-     * if {@link #beforeTest()} failed without test method execution.
-     *
-     * @throws Exception If failed.
-     */
-    protected void afterTest() throws Exception {
-        // No-op.
-    }
-
-    /**
-     * Called before execution of all test methods in class.
-     *
-     * @throws Exception If failed. {@link #afterTestsStopped()} will be 
called in this case.
-     */
-    protected void beforeTestsStarted() throws Exception {
-        // No-op.
-    }
-
-    /**
-     * Called after execution of all test methods in class or
-     * if {@link #beforeTestsStarted()} failed without execution of any test 
methods.
-     *
-     * @throws Exception If failed.
-     */
-    protected void afterTestsStopped() throws Exception {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void setUp() throws Exception {
-        stopGridErr = false;
-
-        clsLdr = Thread.currentThread().getContextClassLoader();
-
-        // Change it to the class one.
-        
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
-
-        // Clear log throttle.
-        LT.clear();
-
-        // Clear license registry.
-        GridLicenseUseRegistry.clear();
-
-        TestCounters cntrs = getTestCounters();
-
-        if (isDebug())
-            info("Test counters [numOfTests=" + cntrs.getNumberOfTests() + ", 
started=" + cntrs.getStarted() +
-                ", stopped=" + cntrs.getStopped() + ']');
-
-        if (cntrs.isReset()) {
-            info("Resetting test counters.");
-
-            int started = cntrs.getStarted() % cntrs.getNumberOfTests();
-            int stopped = cntrs.getStopped() % cntrs.getNumberOfTests();
-
-            cntrs.reset();
-
-            cntrs.setStarted(started);
-            cntrs.setStopped(stopped);
-        }
-
-        if (isFirstTest()) {
-            info(">>> Starting test class: " + getClass().getSimpleName() + " 
<<<");
-
-            if (startGrid) {
-                IgniteConfiguration cfg = optimize(getConfiguration());
-
-                G.start(cfg);
-            }
-
-            try {
-                beforeTestsStarted();
-            }
-            catch (Exception | Error t) {
-                t.printStackTrace();
-
-                
getTestCounters().setStopped(getTestCounters().getNumberOfTests() - 1);
-
-                try {
-                    tearDown();
-                }
-                catch (Exception e) {
-                    log.error("Failed to tear down test after exception was 
thrown in beforeTestsStarted (will " +
-                        "ignore)", e);
-                }
-
-                throw t;
-            }
-        }
-
-        info(">>> Starting test: " + getName() + " <<<");
-
-        try {
-            beforeTest();
-        }
-        catch (Exception | Error t) {
-            try {
-                tearDown();
-            }
-            catch (Exception e) {
-                log.error("Failed to tear down test after exception was thrown 
in beforeTest (will ignore)", e);
-            }
-
-            throw t;
-        }
-
-        ts = System.currentTimeMillis();
-    }
-
-    /**
-     * @return Started grid.
-     * @throws Exception If anything failed.
-     */
-    protected Ignite startGrid() throws Exception {
-        return startGrid(getTestGridName());
-    }
-
-    /**
-     * @param cnt Grid count.
-     * @return First started grid.
-     * @throws Exception If failed.
-     */
-    protected final Ignite startGrids(int cnt) throws Exception {
-        assert cnt > 0;
-
-        Ignite ignite = null;
-
-        for (int i = 0; i < cnt; i++)
-            if (ignite == null)
-                ignite = startGrid(i);
-            else
-                startGrid(i);
-
-        checkTopology(cnt);
-
-        assert ignite != null;
-
-        return ignite;
-    }
-
-    /**
-     * @param cnt Grid count.
-     * @return First started grid.
-     * @throws Exception If failed.
-     */
-    protected Ignite startGridsMultiThreaded(int cnt) throws Exception {
-        if (cnt == 1)
-            return startGrids(1);
-
-        Ignite ignite = startGridsMultiThreaded(0, cnt);
-
-        checkTopology(cnt);
-
-        return ignite;
-    }
-
-    /**
-     * @param init Start grid index.
-     * @param cnt Grid count.
-     * @return First started grid.
-     * @throws Exception If failed.
-     */
-    protected final Ignite startGridsMultiThreaded(int init, int cnt) throws 
Exception {
-        assert init >= 0;
-        assert cnt > 0;
-
-        info("Starting grids: " + cnt);
-
-        final AtomicInteger gridIdx = new AtomicInteger(init);
-
-        GridTestUtils.runMultiThreaded(
-            new Callable<Object>() {
-                @Nullable @Override public Object call() throws Exception {
-                    startGrid(gridIdx.getAndIncrement());
-
-                    return null;
-                }
-            },
-            cnt,
-            "grid-starter-" + getName()
-        );
-
-        assert gridIdx.get() - init == cnt;
-
-        return grid(init);
-    }
-
-    /**
-     * @param cnt Grid count
-     * @throws Exception If an error occurs.
-     */
-    @SuppressWarnings({"BusyWait"})
-    protected void checkTopology(int cnt) throws Exception {
-        for (int j = 0; j < 10; j++) {
-            boolean topOk = true;
-
-            for (int i = 0; i < cnt; i++) {
-                if (cnt != grid(i).nodes().size()) {
-                    U.warn(log, "Grid size is incorrect (will re-run check in 
1000 ms) " +
-                        "[name=" + grid(i).name() + ", size=" + 
grid(i).nodes().size() + ']');
-
-                    topOk = false;
-
-                    break;
-                }
-            }
-
-            if (topOk)
-                return;
-            else
-                Thread.sleep(1000);
-        }
-
-        throw new Exception("Failed to wait for proper topology.");
-    }
-
-    /** */
-    protected void stopGrid() {
-        stopGrid(getTestGridName());
-    }
-
-    /**
-     * Starts new grid with given index.
-     *
-     * @param idx Index of the grid to start.
-     * @return Started grid.
-     * @throws Exception If anything failed.
-     */
-    protected Ignite startGrid(int idx) throws Exception {
-        return startGrid(getTestGridName(idx));
-    }
-
-    /**
-     * Starts new grid with given index and Spring application context.
-     *
-     * @param idx Index of the grid to start.
-     * @param ctx Spring context.
-     * @return Started grid.
-     * @throws Exception If anything failed.
-     */
-    protected Ignite startGrid(int idx, GridSpringResourceContext ctx) throws 
Exception {
-        return startGrid(getTestGridName(idx), ctx);
-    }
-
-    /**
-     * Starts new grid with given name.
-     *
-     * @param gridName Grid name.
-     * @return Started grid.
-     * @throws Exception If failed.
-     */
-    protected Ignite startGrid(String gridName) throws Exception {
-        return startGrid(gridName, (GridSpringResourceContext)null);
-    }
-
-    /**
-     * Starts new grid with given name.
-     *
-     * @param gridName Grid name.
-     * @param ctx Spring context.
-     * @return Started grid.
-     * @throws Exception If failed.
-     */
-    protected Ignite startGrid(String gridName, GridSpringResourceContext ctx) 
throws Exception {
-        return GridGainEx.start(optimize(getConfiguration(gridName)), ctx);
-    }
-
-    /**
-     * Optimizes configuration to achieve better test performance.
-     *
-     * @param cfg Configuration.
-     * @return Optimized configuration (by modifying passed in one).
-     */
-    protected IgniteConfiguration optimize(IgniteConfiguration cfg) {
-        // TODO: GG-4048: propose another way to avoid network overhead in 
tests.
-        if (cfg.getLocalHost() == null) {
-            if (cfg.getDiscoverySpi() instanceof TcpDiscoverySpi)
-                cfg.setLocalHost("127.0.0.1");
-            else
-                cfg.setLocalHost(getTestResources().getLocalHost());
-        }
-
-        // Do not add redundant data if it is not needed.
-        if (cfg.getIncludeProperties() == null)
-            cfg.setIncludeProperties();
-
-        return cfg;
-    }
-
-    /**
-     * @param gridName Grid name.
-     */
-    protected void stopGrid(@Nullable String gridName) {
-        stopGrid(gridName, true);
-    }
-
-    /**
-     * @param gridName Grid name.
-     * @param cancel Cancel flag.
-     */
-    @SuppressWarnings({"deprecation"})
-    protected void stopGrid(@Nullable String gridName, boolean cancel) {
-        try {
-            Ignite ignite = G.ignite(gridName);
-
-            assert ignite != null : "GridGain returned null grid for name: " + 
gridName;
-
-            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + 
ignite.cluster().localNode().id() + ']');
-
-            G.stop(gridName, cancel);
-        }
-        catch (IllegalStateException ignored) {
-            // Ignore error if grid already stopped.
-        }
-        catch (Throwable e) {
-            error("Failed to stop grid [gridName=" + gridName + ", cancel=" + 
cancel + ']', e);
-
-            stopGridErr = true;
-        }
-    }
-
-    /**
-     *
-     */
-    protected void stopAllGrids() {
-        stopAllGrids(true);
-    }
-
-    /**
-     * @param cancel Cancel flag.
-     */
-    protected void stopAllGrids(boolean cancel) {
-        List<Ignite> ignites = G.allGrids();
-
-        for (Ignite g : ignites)
-            stopGrid(g.name(), cancel);
-
-        assert G.allGrids().isEmpty();
-    }
-
-    /**
-     * @param cancel Cancel flag.
-     */
-    protected void stopAllClients(boolean cancel) {
-        List<Ignite> ignites = G.allGrids();
-
-        for (Ignite g : ignites) {
-            if (g.cluster().localNode().isClient())
-                stopGrid(g.name(), cancel);
-        }
-    }
-
-    /**
-     * @param cancel Cancel flag.
-     */
-    protected void stopAllServers(boolean cancel) {
-        List<Ignite> ignites = G.allGrids();
-
-        for (Ignite g : ignites) {
-            if (!g.cluster().localNode().isClient())
-                stopGrid(g.name(), cancel);
-        }
-    }
-
-    /**
-     * @param ignite Grid
-     * @param cnt Count
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings({"BusyWait"})
-    protected void waitForRemoteNodes(Ignite ignite, int cnt) throws 
IgniteCheckedException {
-        while (true) {
-            Collection<ClusterNode> nodes = 
ignite.cluster().forRemotes().nodes();
-
-            if (nodes != null && nodes.size() >= cnt)
-                return;
-
-            try {
-                Thread.sleep(100);
-            }
-            catch (InterruptedException ignored) {
-                throw new IgniteCheckedException("Interrupted while waiting 
for remote nodes [gridName=" + ignite.name() +
-                    ", count=" + cnt + ']');
-            }
-        }
-    }
-
-    /**
-     * @param ignites Grids
-     * @throws IgniteCheckedException If failed.
-     */
-    protected void waitForDiscovery(Ignite... ignites) throws 
IgniteCheckedException {
-        assert ignites != null;
-        assert ignites.length > 1;
-
-        for (Ignite ignite : ignites)
-            waitForRemoteNodes(ignite, ignites.length - 1);
-    }
-
-    /**
-     * Gets grid for given name.
-     *
-     * @param name Name.
-     * @return Grid instance.
-     */
-    protected GridEx grid(String name) {
-        return (GridEx)G.ignite(name);
-    }
-
-    /**
-     * Gets grid for given index.
-     *
-     * @param idx Index.
-     * @return Grid instance.
-     */
-    protected GridEx grid(int idx) {
-        return (GridEx)G.ignite(getTestGridName(idx));
-    }
-
-    /**
-     * @param idx Index.
-     * @return Ignite instance.
-     */
-    protected Ignite ignite(int idx) {
-        return G.ignite(getTestGridName(idx));
-    }
-
-    /**
-     * Gets grid for given test.
-     *
-     * @return Grid for given test.
-     */
-    protected GridEx grid() {
-        return (GridEx)G.ignite(getTestGridName());
-    }
-
-    /**
-     * Starts grid using provided grid name and spring config location.
-     * <p>
-     * Note that grids started this way should be stopped with {@code 
G.stop(..)} methods.
-     *
-     * @param gridName Grid name.
-     * @param springCfgPath Path to config file.
-     * @return Grid Started grid.
-     * @throws Exception If failed.
-     */
-    protected Ignite startGrid(String gridName, String springCfgPath) throws 
Exception {
-        return startGrid(gridName, loadConfiguration(springCfgPath));
-    }
-
-    /**
-     * Starts grid using provided grid name and config.
-     * <p>
-     * Note that grids started this way should be stopped with {@code 
G.stop(..)} methods.
-     *
-     * @param gridName Grid name.
-     * @param cfg Config.
-     * @return Grid Started grid.
-     * @throws Exception If failed.
-     */
-    protected Ignite startGrid(String gridName, IgniteConfiguration cfg) 
throws Exception {
-        cfg.setGridName(gridName);
-
-        return G.start(cfg);
-    }
-
-    /**
-     * Loads configuration from the given Spring XML file.
-     *
-     * @param springCfgPath Path to file.
-     * @return Grid configuration.
-     * @throws IgniteCheckedException If load failed.
-     */
-    @SuppressWarnings("deprecation")
-    protected IgniteConfiguration loadConfiguration(String springCfgPath) 
throws IgniteCheckedException {
-        URL cfgLocation = U.resolveGridGainUrl(springCfgPath);
-
-        assert cfgLocation != null;
-
-        ApplicationContext springCtx;
-
-        try {
-            springCtx = new 
FileSystemXmlApplicationContext(cfgLocation.toString());
-        }
-        catch (BeansException e) {
-            throw new IgniteCheckedException("Failed to instantiate Spring XML 
application context.", e);
-        }
-
-        Map cfgMap;
-
-        try {
-            // Note: Spring is not generics-friendly.
-            cfgMap = springCtx.getBeansOfType(IgniteConfiguration.class);
-        }
-        catch (BeansException e) {
-            throw new IgniteCheckedException("Failed to instantiate bean 
[type=" + IgniteConfiguration.class + ", err=" +
-                e.getMessage() + ']', e);
-        }
-
-        if (cfgMap == null)
-            throw new IgniteCheckedException("Failed to find a single grid 
factory configuration in: " + springCfgPath);
-
-        if (cfgMap.isEmpty())
-            throw new IgniteCheckedException("Can't find grid factory 
configuration in: " + springCfgPath);
-        else if (cfgMap.size() > 1)
-            throw new IgniteCheckedException("More than one configuration 
provided for cache load test: " + cfgMap.values());
-
-        IgniteConfiguration cfg = 
(IgniteConfiguration)cfgMap.values().iterator().next();
-
-        cfg.setNodeId(UUID.randomUUID());
-
-        return cfg;
-    }
-
-    /**
-     * @param idx Index of the grid to stop.
-     */
-    protected void stopGrid(int idx) {
-        stopGrid(getTestGridName(idx), false);
-    }
-
-    /**
-     * @param idx Grid index.
-     * @param cancel Cancel flag.
-     */
-    @SuppressWarnings("deprecation")
-    protected void stopGrid(int idx, boolean cancel) {
-        String gridName = getTestGridName(idx);
-
-        try {
-            Ignite ignite = G.ignite(gridName);
-
-            assert ignite != null : "GridGain returned null grid for name: " + 
gridName;
-
-            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + 
ignite.cluster().localNode().id() + ']');
-
-            G.stop(gridName, cancel);
-        }
-        catch (IllegalStateException ignored) {
-            // Ignore error if grid already stopped.
-        }
-        catch (Throwable e) {
-            error("Failed to stop grid [gridName=" + gridName + ", cancel=" + 
cancel + ']', e);
-
-            stopGridErr = true;
-        }
-    }
-
-    /**
-     * @param idx Index of the grid to stop.
-     */
-    protected void stopAndCancelGrid(int idx) {
-        stopGrid(getTestGridName(idx), true);
-    }
-
-    /**
-     * @return Grid test configuration.
-     * @throws Exception If failed.
-     */
-    protected IgniteConfiguration getConfiguration() throws Exception {
-        // Generate unique grid name.
-        return getConfiguration(getTestGridName());
-    }
-
-    /**
-     * This method should be overridden by subclasses to change configuration 
parameters.
-     *
-     * @param gridName Grid name.
-     * @return Grid configuration used for starting of grid.
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings("deprecation")
-    protected IgniteConfiguration getConfiguration(String gridName) throws 
Exception {
-        IgniteConfiguration cfg = getConfiguration(gridName, 
getTestResources());
-
-        cfg.setNodeId(null);
-
-        return cfg;
-    }
-
-    /**
-     * This method should be overridden by subclasses to change configuration 
parameters.
-     *
-     * @return Grid configuration used for starting of grid.
-     * @param rsrcs Resources.
-     * @throws Exception If failed.
-     */
-    protected IgniteConfiguration getConfiguration(GridTestResources rsrcs) 
throws Exception {
-        return getConfiguration(getTestGridName(), rsrcs);
-    }
-
-    /**
-     * @return Generated unique test grid name.
-     */
-    public String getTestGridName() {
-        String[] parts = getClass().getName().split("\\.");
-
-        return parts[parts.length - 2] + '.' + parts[parts.length - 1];
-    }
-
-    /**
-     * @param idx Index of the grid.
-     * @return Indexed grid name.
-     */
-    public String getTestGridName(int idx) {
-        return getTestGridName() + idx;
-    }
-
-    /**
-     * Parses test grid index from test grid name.
-     *
-     * @param testGridName Test grid name, returned by {@link 
#getTestGridName(int)}.
-     * @return Test grid index.
-     */
-    public int getTestGridIndex(String testGridName) {
-        return 
Integer.parseInt(testGridName.substring(getTestGridName().length()));
-    }
-
-    /**
-     * @return {@code True} if system property -DDEBUG is set.
-     */
-    public boolean isDebug() {
-        return System.getProperty("DEBUG") != null;
-    }
-
-    /**
-     * @param marshaller Marshaller to get checkpoint path for.
-     * @return Path for specific marshaller.
-     */
-    @SuppressWarnings({"IfMayBeConditional", "deprecation"})
-    protected String getDefaultCheckpointPath(IgniteMarshaller marshaller) {
-        if (marshaller instanceof IgniteJdkMarshaller)
-            return SharedFsCheckpointSpi.DFLT_DIR_PATH + "/jdk/";
-        else
-            return SharedFsCheckpointSpi.DFLT_DIR_PATH + '/' + 
marshaller.getClass().getSimpleName() + '/';
-    }
-
-    /**
-     * @param name Name to mask.
-     * @return Masked name.
-     */
-    private String maskNull(String name) {
-        return name == null ? NULL_NAME : name;
-    }
-
-    /**
-     * @return GridGain home.
-     */
-    protected String home() {
-        return getTestResources().getGridgainHome();
-    }
-
-    /**
-     * This method should be overridden by subclasses to change configuration 
parameters.
-     *
-     * @return Grid configuration used for starting of grid.
-     * @param gridName Grid name.
-     * @param rsrcs Resources.
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings("deprecation")
-    protected IgniteConfiguration getConfiguration(String gridName, 
GridTestResources rsrcs) throws Exception {
-        IgniteConfiguration cfg = new IgniteConfiguration();
-
-        cfg.setGridName(gridName);
-        cfg.setGridLogger(rsrcs.getLogger());
-        cfg.setMarshaller(rsrcs.getMarshaller());
-        cfg.setNodeId(rsrcs.getNodeId());
-        cfg.setGridGainHome(rsrcs.getGridgainHome());
-        cfg.setMBeanServer(rsrcs.getMBeanServer());
-        cfg.setPeerClassLoadingEnabled(true);
-        cfg.setMetricsLogFrequency(0);
-
-        TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
-
-        commSpi.setLocalPort(GridTestUtils.getNextCommPort(getClass()));
-        commSpi.setTcpNoDelay(true);
-
-        cfg.setCommunicationSpi(commSpi);
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        if (isDebug()) {
-            discoSpi.setMaxMissedHeartbeats(Integer.MAX_VALUE);
-            cfg.setNetworkTimeout(Long.MAX_VALUE);
-        }
-        else {
-            // Set network timeout to 10 sec to avoid unexpected p2p class 
loading errors.
-            cfg.setNetworkTimeout(10000);
-
-            // Increase max missed heartbeats to avoid unexpected node fails.
-            discoSpi.setMaxMissedHeartbeats(30);
-        }
-
-        // Set heartbeat interval to 1 second to speed up tests.
-        discoSpi.setHeartbeatFrequency(1000);
-
-        String mcastAddr = GridTestUtils.getNextMulticastGroup(getClass());
-
-        if (!F.isEmpty(mcastAddr)) {
-            TcpDiscoveryMulticastIpFinder ipFinder = new 
TcpDiscoveryMulticastIpFinder();
-
-            ipFinder.setMulticastGroup(mcastAddr);
-            
ipFinder.setMulticastPort(GridTestUtils.getNextMulticastPort(getClass()));
-
-            discoSpi.setIpFinder(ipFinder);
-        }
-
-        cfg.setDiscoverySpi(discoSpi);
-
-        SharedFsCheckpointSpi cpSpi = new SharedFsCheckpointSpi();
-
-        Collection<String> paths = new ArrayList<>();
-
-        paths.add(getDefaultCheckpointPath(cfg.getMarshaller()));
-
-        cpSpi.setDirectoryPaths(paths);
-
-        cfg.setCheckpointSpi(cpSpi);
-
-        cfg.setRestEnabled(false);
-
-        cfg.setIncludeEventTypes(IgniteEventType.EVTS_ALL);
-
-        return cfg;
-    }
-
-    /**
-     * @return New cache configuration with modified defaults.
-     */
-    public static CacheConfiguration defaultCacheConfiguration() {
-        CacheConfiguration cfg = new CacheConfiguration();
-
-        cfg.setStartSize(1024);
-        cfg.setQueryIndexEnabled(true);
-        cfg.setAtomicWriteOrderMode(PRIMARY);
-        cfg.setAtomicityMode(TRANSACTIONAL);
-        cfg.setDistributionMode(NEAR_PARTITIONED);
-        cfg.setWriteSynchronizationMode(FULL_SYNC);
-        cfg.setEvictionPolicy(null);
-
-        return cfg;
-    }
-
-    /**
-     * Gets external class loader.
-     *
-     * @return External class loader.
-     */
-    protected static ClassLoader getExternalClassLoader() {
-        String path = GridTestProperties.getProperty("p2p.uri.cls");
-
-        try {
-            return new URLClassLoader(new URL[] {new URL(path)}, 
U.gridClassLoader());
-        }
-        catch (MalformedURLException e) {
-            throw new RuntimeException("Failed to create URL: " + path, e);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void tearDown() throws Exception {
-        long dur = System.currentTimeMillis() - ts;
-
-        info(">>> Stopping test: " + getName() + " in " + dur + " ms <<<");
-
-        TestCounters cntrs = getTestCounters();
-
-        if (isDebug())
-            info("Test counters [numOfTests=" + cntrs.getNumberOfTests() + ", 
started=" + cntrs.getStarted() +
-                ", stopped=" + cntrs.getStopped() + ']');
-
-        try {
-            afterTest();
-        }
-        finally {
-            if (isLastTest()) {
-                info(">>> Stopping test class: " + getClass().getSimpleName() 
+ " <<<");
-
-                TestCounters counters = getTestCounters();
-
-                // Stop all threads started by runMultithreaded() methods.
-                GridTestUtils.stopThreads(log);
-
-                // Safety.
-                getTestResources().stopThreads();
-
-                // Set reset flags, so counters will be reset on the next 
setUp.
-                counters.setReset(true);
-
-                afterTestsStopped();
-
-                if (startGrid)
-                    G.stop(getTestGridName(), true);
-
-                // Remove counters.
-                tests.remove(getClass());
-
-                // Remove resources cached in static, if any.
-                GridClassLoaderCache.clear();
-                IgniteOptimizedMarshaller.clearCache();
-                IgniteMarshallerExclusions.clearCache();
-                GridEnumCache.clear();
-            }
-
-            Thread.currentThread().setContextClassLoader(clsLdr);
-
-            clsLdr = null;
-        }
-    }
-
-    /**
-     * @return First test flag.
-     */
-    protected boolean isFirstTest() {
-        TestCounters cntrs = getTestCounters();
-
-        return cntrs.getStarted() == 1 && cntrs.getStopped() == 0;
-    }
-
-    /**
-     * @return Last test flag.
-     */
-    protected boolean isLastTest() {
-        TestCounters cntrs = getTestCounters();
-
-        return cntrs.getStopped() == cntrs.getNumberOfTests();
-    }
-
-    /**
-     * @return Test counters.
-     */
-    protected synchronized TestCounters getTestCounters() {
-        TestCounters tc = tests.get(getClass());
-
-        if (tc == null)
-            tests.put(getClass(), tc = new TestCounters());
-
-        return tc;
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"ProhibitedExceptionDeclared"})
-    @Override protected void runTest() throws Throwable {
-        final AtomicReference<Throwable> ex = new AtomicReference<>();
-
-        Thread runner = new Thread("test-runner") {
-            @Override public void run() {
-                try {
-                    runTestInternal();
-                }
-                catch (Throwable e) {
-                    IgniteClosure<Throwable, Throwable> hnd = errorHandler();
-
-                    ex.set(hnd != null ? hnd.apply(e) : e);
-                }
-            }
-        };
-
-        runner.start();
-
-        runner.join(isDebug() ? 0 : getTestTimeout());
-
-        if (runner.isAlive()) {
-            U.error(log,
-                "Test has been timed out and will be interrupted (threads dump 
will be taken before interruption) [" +
-                "test=" + getName() + ", timeout=" + getTestTimeout() + ']');
-
-            // We dump threads to stdout, because we can loose logs in case
-            // the build is cancelled on TeamCity.
-            U.dumpThreads(null);
-
-            U.dumpThreads(log);
-
-            U.interrupt(runner);
-
-            U.join(runner, log);
-
-            throw new TimeoutException("Test has been timed out [test=" + 
getName() + ", timeout=" +
-                getTestTimeout() + ']' );
-        }
-
-        Throwable t = ex.get();
-
-        if (t != null) {
-            U.error(log, "Test failed.", t);
-
-            throw t;
-        }
-
-        assert !stopGridErr : "Error occurred on grid stop (see log for more 
details).";
-    }
-
-    /**
-     * @return Error handler to process all uncaught exceptions of the test run
-     *      ({@code null} by default).
-     */
-    protected IgniteClosure<Throwable, Throwable> errorHandler() {
-        return null;
-    }
-
-    /**
-     * @throws Throwable If failed.
-     */
-    @SuppressWarnings({"ProhibitedExceptionDeclared"})
-    private void runTestInternal() throws Throwable {
-        super.runTest();
-    }
-
-    /**
-     * @return Test case timeout.
-     */
-    protected long getTestTimeout() {
-        return getDefaultTestTimeout();
-    }
-
-    /**
-     * @return Default test case timeout.
-     */
-    private long getDefaultTestTimeout() {
-        String timeout = GridTestProperties.getProperty("test.timeout");
-
-        if (timeout != null)
-            return Long.parseLong(timeout);
-
-        return DFLT_TEST_TIMEOUT;
-    }
-
-    /**
-     * Test counters.
-     */
-    protected class TestCounters {
-        /** */
-        private int numOfTests = -1;
-
-        /** */
-        private int started;
-
-        /** */
-        private int stopped;
-
-        /** */
-        private boolean reset;
-
-        /** */
-        private GridTestResources rsrcs = new GridTestResources();
-
-        /**
-         * @return Reset flag.
-         */
-        public boolean isReset() {
-            return reset;
-        }
-
-        /**
-         * @return Test resources.
-         */
-        public GridTestResources getTestResources() {
-            return rsrcs;
-        }
-
-        /**
-         * @param reset Reset flag.
-         */
-        public void setReset(boolean reset) {
-            this.reset = reset;
-        }
-
-        /** */
-        public void reset() {
-            numOfTests = -1;
-            started = 0;
-            stopped = 0;
-            reset = false;
-        }
-
-        /**
-         * @return Started flag.
-         */
-        public int getStarted() {
-            return started;
-        }
-
-        /**
-         * @param started Started flag.
-         */
-        public void setStarted(int started) {
-            this.started = started;
-        }
-
-        /**
-         * @return Stopped flag.
-         */
-        public int getStopped() {
-            return stopped;
-        }
-
-        /**
-         * @param stopped Stopped flag.
-         */
-        public void setStopped(int stopped) {
-            this.stopped = stopped;
-        }
-
-        /** */
-        public void incrementStarted() {
-            if (isDebug())
-                info("Incrementing started tests counter.");
-
-            started++;
-        }
-
-        /** */
-        public void incrementStopped() {
-            if (isDebug())
-                info("Incrementing stopped tests counter.");
-
-            stopped++;
-        }
-
-        /**
-         * @return Number of tests
-         */
-        public int getNumberOfTests() {
-            if (numOfTests == -1) {
-                int cnt = 0;
-
-                for (Method m : GridAbstractTest.this.getClass().getMethods())
-                    if 
(m.getDeclaringClass().getName().startsWith("org.gridgain") ||
-                        
m.getDeclaringClass().getName().startsWith("org.apache.ignite")) {
-                        if (m.getName().startsWith("test") && 
Modifier.isPublic(m.getModifiers()))
-                            cnt++;
-                    }
-
-                numOfTests = cnt;
-            }
-
-            countTestCases();
-
-            return numOfTests;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestIgnite.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestIgnite.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestIgnite.java
deleted file mode 100644
index 18a68c9..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestIgnite.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.testframework.junits;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.hadoop.*;
-import org.apache.ignite.marshaller.IgniteMarshaller;
-import org.apache.ignite.plugin.*;
-import org.apache.ignite.plugin.security.*;
-import org.apache.ignite.product.*;
-import org.jetbrains.annotations.*;
-
-import javax.management.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Ignite mock.
- */
-public class GridTestIgnite implements Ignite {
-    /** Ignite name */
-    private final String name;
-
-    /** Local host. */
-    private final String locHost;
-
-    /** */
-    private final UUID nodeId;
-
-    /** */
-    private IgniteMarshaller marshaller;
-
-    /** */
-    private final MBeanServer jmx;
-
-    /** */
-    private final String home;
-
-    /**
-     * Mock values
-     *
-     * @param name Name.
-     * @param locHost Local host.
-     * @param nodeId Node ID.
-     * @param marshaller Marshaller.
-     * @param jmx Jmx Bean Server.
-     * @param home Ignite home.
-     */
-    public GridTestIgnite(
-        String name, String locHost, UUID nodeId, IgniteMarshaller marshaller, 
MBeanServer jmx, String home) {
-        this.locHost = locHost;
-        this.nodeId = nodeId;
-        this.marshaller = marshaller;
-        this.jmx = jmx;
-        this.home = home;
-        this.name = name;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String name() {
-        return name;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteLogger log() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteConfiguration configuration() {
-        IgniteConfiguration cfg = new IgniteConfiguration();
-
-        cfg.setMarshaller(marshaller);
-        cfg.setNodeId(nodeId);
-        cfg.setMBeanServer(jmx);
-        cfg.setGridGainHome(home);
-        cfg.setLocalHost(locHost);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteCluster cluster() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteCompute compute() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteCompute compute(ClusterGroup prj) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteMessaging message() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteMessaging message(ClusterGroup prj) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteEvents events() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteEvents events(ClusterGroup prj) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteManaged managed() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteManaged managed(ClusterGroup prj) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public ExecutorService executorService() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public ExecutorService executorService(ClusterGroup prj) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteProduct product() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteScheduler scheduler() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridSecurity security() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgnitePortables portables() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public <K, V> GridCache<K, V> cache(@Nullable String name) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<GridCache<?, ?>> caches() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public <K, V> IgniteCache<K, V> jcache(@Nullable String name) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTransactions transactions() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public <K, V> IgniteDataLoader<K, V> dataLoader(@Nullable String 
cacheName) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFs fileSystem(String name) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<IgniteFs> fileSystems() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridHadoop hadoop() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteStreamer streamer(@Nullable String name) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<IgniteStreamer> streamers() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public <T extends IgnitePlugin> T plugin(String name) throws 
PluginNotFoundException {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void close() throws IgniteCheckedException {}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestKernalContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestKernalContext.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestKernalContext.java
deleted file mode 100644
index 9a672d4..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestKernalContext.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.gridgain.testframework.*;
-
-import java.util.*;
-
-/**
- * Test context.
- */
-public class GridTestKernalContext extends GridKernalContextImpl {
-    /**
-     *
-     */
-    public GridTestKernalContext() {
-        super(null,
-            new GridKernal(null),
-            new IgniteConfiguration(),
-            new GridKernalGatewayImpl(null),
-            null,
-            false);
-
-        GridTestUtils.setFieldValue(grid(), "cfg", config());
-    }
-
-    /**
-     * @param log Logger to use in context config.
-     */
-    public GridTestKernalContext(IgniteLogger log) {
-        this();
-
-        config().setGridLogger(log);
-    }
-
-    /**
-     * Starts everything added (in the added order).
-     *
-     * @throws IgniteCheckedException If failed
-     */
-    public void start() throws IgniteCheckedException {
-        for (GridComponent comp : this)
-            comp.start();
-    }
-
-    /**
-     * Stops everything added.
-     *
-     * @param cancel Cancel parameter.
-     * @throws IgniteCheckedException If failed.
-     */
-    public void stop(boolean cancel) throws IgniteCheckedException {
-        List<GridComponent> comps = components();
-
-        for (ListIterator<GridComponent> it = 
comps.listIterator(comps.size()); it.hasPrevious();) {
-            GridComponent comp = it.previous();
-
-            comp.stop(cancel);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridTestKernalContext.class, this, super.toString());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestResources.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestResources.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestResources.java
deleted file mode 100644
index 8049608..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/GridTestResources.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits;
-
-import org.apache.ignite.*;
-import org.apache.ignite.marshaller.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.apache.ignite.resources.*;
-import org.apache.ignite.thread.*;
-import org.apache.ignite.internal.processors.resource.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.gridgain.testframework.config.*;
-import org.gridgain.testframework.junits.logger.*;
-import org.jetbrains.annotations.*;
-
-import javax.management.*;
-import java.io.*;
-import java.lang.management.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Test resources for injection.
- */
-public class GridTestResources {
-    /** */
-    private static final IgniteLogger rootLog = new GridTestLog4jLogger(false);
-
-    /** */
-    private final IgniteLogger log;
-
-    /** Local host. */
-    private final String locHost;
-
-    /** */
-    private final UUID nodeId;
-
-    /** */
-    private IgniteMarshaller marshaller;
-
-    /** */
-    private final MBeanServer jmx;
-
-    /** */
-    private final String home;
-
-    /** */
-    private ThreadPoolExecutor execSvc;
-
-    /** */
-    private GridResourceProcessor rsrcProc;
-
-    /** */
-    public GridTestResources() {
-        log = rootLog.getLogger(getClass());
-        nodeId = UUID.randomUUID();
-        jmx = ManagementFactory.getPlatformMBeanServer();
-        home = U.getGridGainHome();
-        locHost = localHost();
-
-        GridTestKernalContext ctx = new GridTestKernalContext();
-
-        ctx.config().setGridLogger(log);
-
-        rsrcProc = new GridResourceProcessor(ctx);
-    }
-
-    /**
-     * @param jmx JMX server.
-     */
-    public GridTestResources(MBeanServer jmx) {
-        assert jmx != null;
-
-        this.jmx = jmx;
-
-        log = rootLog.getLogger(getClass());
-
-        nodeId = UUID.randomUUID();
-        home = U.getGridGainHome();
-        locHost = localHost();
-
-        GridTestKernalContext ctx = new GridTestKernalContext();
-
-        ctx.config().setGridLogger(log);
-
-        rsrcProc = new GridResourceProcessor(ctx);
-    }
-
-    /**
-     * @param log Logger.
-     */
-    public GridTestResources(IgniteLogger log) {
-        assert log != null;
-
-        this.log = log.getLogger(getClass());
-
-        nodeId = UUID.randomUUID();
-        jmx = ManagementFactory.getPlatformMBeanServer();
-        home = U.getGridGainHome();
-        locHost = localHost();
-
-        GridTestKernalContext ctx = new GridTestKernalContext();
-
-        ctx.config().setGridLogger(log);
-
-        rsrcProc = new GridResourceProcessor(ctx);
-    }
-
-    /**
-     * @return Resource processor.
-     */
-    public GridResourceProcessor resources() {
-        return rsrcProc;
-    }
-
-    /**
-     * @return Local host.
-     */
-    @Nullable private String localHost() {
-        try {
-            return U.getLocalHost().getHostAddress();
-        }
-        catch (IOException e) {
-            System.err.println("Failed to detect local host address.");
-
-            e.printStackTrace();
-
-            return null;
-        }
-    }
-
-    /**
-     * @param prestart Prestart flag.
-     */
-    public void startThreads(boolean prestart) {
-        execSvc = new IgniteThreadPoolExecutor(nodeId.toString(), 40, 40, 
Long.MAX_VALUE,
-            new LinkedBlockingQueue<Runnable>());
-
-        // Improve concurrency for testing.
-        if (prestart)
-            execSvc.prestartAllCoreThreads();
-    }
-
-    /** */
-    public void stopThreads() {
-        if (execSvc != null) {
-            U.shutdownNow(getClass(), execSvc, log);
-
-            execSvc = null;
-        }
-    }
-
-    /**
-     * @param target Target.
-     * @throws IgniteCheckedException If failed.
-     */
-    public void inject(Object target) throws IgniteCheckedException {
-        assert target != null;
-        assert getLogger() != null;
-
-        rsrcProc.injectBasicResource(target, IgniteLoggerResource.class, 
getLogger().getLogger(target.getClass()));
-        rsrcProc.injectBasicResource(target, IgniteInstanceResource.class,
-            new GridTestIgnite(null, locHost, nodeId, getMarshaller(), jmx, 
home));
-    }
-
-    /**
-     * @return Executor service.
-     */
-    public ExecutorService getExecutorService() {
-        return execSvc;
-    }
-
-    /**
-     * @return GridGain home.
-     */
-    public String getGridgainHome() {
-        return home;
-    }
-
-    /**
-     * @return MBean server.
-     */
-    public MBeanServer getMBeanServer() {
-        return jmx;
-    }
-
-    /**
-     * @return Logger for specified class.
-     */
-    public static IgniteLogger getLogger(Class<?> cls) {
-        return rootLog.getLogger(cls);
-    }
-
-    /**
-     * @return Logger.
-     */
-    public IgniteLogger getLogger() {
-        return log;
-    }
-
-    /**
-     * @return Node ID.
-     */
-    public UUID getNodeId() {
-        return nodeId;
-    }
-
-    /**
-     * @return Local host.
-     */
-    public String getLocalHost() {
-        return locHost;
-    }
-
-    /**
-     * @return Marshaller.
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings("unchecked")
-    public synchronized IgniteMarshaller getMarshaller() throws 
IgniteCheckedException {
-        if (marshaller == null) {
-            String marshallerName = 
GridTestProperties.getProperty("marshaller.class");
-
-            if (marshallerName == null)
-                marshaller = new IgniteOptimizedMarshaller();
-            else {
-                try {
-                    Class<? extends IgniteMarshaller> cls = (Class<? extends 
IgniteMarshaller>)Class.forName(marshallerName);
-
-                    marshaller = cls.newInstance();
-                }
-                catch (ClassNotFoundException | IllegalAccessException | 
InstantiationException e) {
-                    throw new IgniteCheckedException("Failed to create test 
marshaller [marshaller=" + marshallerName + ']', e);
-                }
-            }
-        }
-
-        return marshaller;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
deleted file mode 100644
index ebae1d3..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.store.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.internal.util.lang.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.common.*;
-import org.jetbrains.annotations.*;
-
-import javax.cache.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Abstract cache store test.
- */
-public abstract class GridAbstractCacheStoreSelfTest<T extends 
CacheStore<Object, Object>>
-    extends GridCommonAbstractTest {
-    /** */
-    protected final T store;
-
-    /** */
-    protected TestThreadLocalCacheSession ses = new 
TestThreadLocalCacheSession();
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"AbstractMethodCallInConstructor", 
"OverriddenMethodCallDuringObjectConstruction"})
-    protected GridAbstractCacheStoreSelfTest() throws Exception {
-        super(false);
-
-        store = store();
-
-        inject(store);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testStore() throws Exception {
-        // Create dummy transaction
-        IgniteTx tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        store.write(new CacheEntryImpl<>("k1", "v1"));
-        store.write(new CacheEntryImpl<>("k2", "v2"));
-
-        store.txEnd(true);
-
-        ses.newSession(null);
-
-        assertEquals("v1", store.load("k1"));
-        assertEquals("v2", store.load("k2"));
-        assertNull(store.load("k3"));
-
-        ses.newSession(tx);
-
-        store.delete("k1");
-
-        store.txEnd(true);
-
-        ses.newSession(null);
-
-        assertNull(store.load("k1"));
-        assertEquals("v2", store.load("k2"));
-        assertNull(store.load("k3"));
-    }
-
-    /**
-     * @throws IgniteCheckedException if failed.
-     */
-    public void testRollback() throws IgniteCheckedException {
-        IgniteTx tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        // Put.
-        store.write(new CacheEntryImpl<>("k1", "v1"));
-
-        store.txEnd(false); // Rollback.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertNull(store.load("k1"));
-
-        // Put all.
-        assertNull(store.load("k2"));
-
-        Collection<Cache.Entry<? extends Object, ? extends Object>> col = new 
ArrayList<>();
-
-        col.add(new CacheEntryImpl<>("k2", "v2"));
-
-        store.writeAll(col);
-
-        store.txEnd(false); // Rollback.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertNull(store.load("k2"));
-
-        col = new ArrayList<>();
-
-        col.add(new CacheEntryImpl<>("k3", "v3"));
-
-        store.writeAll(col);
-
-        store.txEnd(true); // Commit.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertEquals("v3", store.load("k3"));
-
-        store.write(new CacheEntryImpl<>("k4", "v4"));
-
-        store.txEnd(false); // Rollback.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertNull(store.load("k4"));
-
-        assertEquals("v3", store.load("k3"));
-
-        // Remove.
-        store.delete("k3");
-
-        store.txEnd(false); // Rollback.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertEquals("v3", store.load("k3"));
-
-        // Remove all.
-        store.deleteAll(Arrays.asList("k3"));
-
-        store.txEnd(false); // Rollback.
-
-        tx = new DummyTx();
-
-        ses.newSession(tx);
-
-        assertEquals("v3", store.load("k3"));
-    }
-
-    /**
-     * @throws IgniteCheckedException if failed.
-     */
-    public void testAllOpsWithTXNoCommit() throws IgniteCheckedException {
-        doTestAllOps(new DummyTx(), false);
-    }
-
-    /**
-     * @throws IgniteCheckedException if failed.
-     */
-    public void testAllOpsWithTXCommit() throws IgniteCheckedException {
-        doTestAllOps(new DummyTx(), true);
-    }
-
-    /**
-     * @throws IgniteCheckedException if failed.
-     */
-    public void testAllOpsWithoutTX() throws IgniteCheckedException {
-        doTestAllOps(null, false);
-    }
-
-    /**
-     * @param tx Transaction.
-     * @param commit Commit.
-     * @throws IgniteCheckedException If failed.
-     */
-    private void doTestAllOps(@Nullable IgniteTx tx, boolean commit) throws 
IgniteCheckedException {
-        try {
-            ses.newSession(tx);
-
-            store.write(new CacheEntryImpl<>("key1", "val1"));
-
-            if (tx != null && commit) {
-                store.txEnd(true);
-
-                tx = new DummyTx();
-
-                ses.newSession(tx);
-            }
-
-            if (tx == null || commit)
-                assertEquals("val1", store.load("key1"));
-
-            Collection<Cache.Entry<? extends Object, ? extends Object>> col = 
new ArrayList<>();
-
-            col.add(new CacheEntryImpl<>("key2", "val2"));
-            col.add(new CacheEntryImpl<>("key3", "val3"));
-
-            store.writeAll(col);
-
-            if (tx != null && commit) {
-                store.txEnd(true);
-
-                tx = new DummyTx();
-            }
-
-            if (tx == null || commit) {
-                Map<Object, Object> loaded = 
store.loadAll(Arrays.asList("key1", "key2", "key3", "no_such_key"));
-
-                for (Map.Entry<Object, Object> e : loaded.entrySet()) {
-                    Object key = e.getKey();
-                    Object val = e.getValue();
-
-                    if ("key1".equals(key))
-                        assertEquals("val1", val);
-
-                    if ("key2".equals(key))
-                        assertEquals("val2", val);
-
-                    if ("key3".equals(key))
-                        assertEquals("val3", val);
-
-                    if ("no_such_key".equals(key))
-                        fail();
-                }
-
-                assertEquals(3, loaded.size());
-            }
-
-            store.deleteAll(Arrays.asList("key2", "key3"));
-
-            if (tx != null && commit) {
-                store.txEnd(true);
-
-                tx = new DummyTx();
-
-                ses.newSession(tx);
-            }
-
-            if (tx == null || commit) {
-                assertNull(store.load("key2"));
-                assertNull(store.load("key3"));
-                assertEquals("val1", store.load("key1"));
-            }
-
-            store.delete("key1");
-
-            if (tx != null && commit) {
-                store.txEnd(true);
-
-                tx = new DummyTx();
-
-                ses.newSession(tx);
-            }
-
-            if (tx == null || commit)
-                assertNull(store.load("key1"));
-        }
-        finally {
-            if (tx != null) {
-                store.txEnd(false);
-
-                ses.newSession(null);
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testSimpleMultithreading() throws Exception {
-        final Random rnd = new Random();
-
-        final LinkedBlockingQueue<UUID> queue = new LinkedBlockingQueue<>();
-
-        multithreaded(new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                for (int i = 0; i < 1000; i++) {
-                    IgniteTx tx = rnd.nextBoolean() ? new DummyTx() : null;
-
-                    ses.newSession(tx);
-
-                    int op = rnd.nextInt(10);
-
-                    boolean queueEmpty = false;
-
-                    if (op < 4) { // Load.
-                        UUID key = queue.poll();
-
-                        if (key == null)
-                            queueEmpty = true;
-                        else {
-                            if (rnd.nextBoolean())
-                                assertNotNull(store.load(key));
-                            else {
-                                Map<Object, Object> loaded = 
store.loadAll(Collections.singleton(key));
-
-                                assertEquals(1, loaded.size());
-
-                                Map.Entry<Object, Object> e = 
loaded.entrySet().iterator().next();
-
-                                UUID k = (UUID)e.getKey();
-                                UUID v = (UUID)e.getValue();
-
-                                assertTrue(k.equals(v) || 
(k.getMostSignificantBits() == v.getLeastSignificantBits()
-                                    && k.getLeastSignificantBits() == 
v.getMostSignificantBits()));
-                            }
-
-                            if (tx != null)
-                                store.txEnd(true);
-
-                            queue.add(key);
-                        }
-                    }
-                    else if (op < 6) { // Remove.
-                        UUID key = queue.poll();
-
-                        if (key == null)
-                            queueEmpty = true;
-                        else {
-                            if (rnd.nextBoolean())
-                                store.delete(key);
-                            else
-                                store.deleteAll(Collections.singleton(key));
-
-                            if (tx != null)
-                                store.txEnd(true);
-                        }
-                    }
-                    else { // Update.
-                        UUID key = queue.poll();
-
-                        if (key == null)
-                            queueEmpty = true;
-                        else {
-                            UUID val = new UUID(key.getLeastSignificantBits(), 
key.getMostSignificantBits());
-
-                            if (rnd.nextBoolean())
-                                store.write(new CacheEntryImpl<>(key, val));
-                            else {
-                                Collection<Cache.Entry<? extends Object, ? 
extends Object>> col = new ArrayList<>();
-
-                                col.add(new CacheEntryImpl<>(key, val));
-
-                                store.writeAll(col);
-                            }
-
-                            if (tx != null)
-                                store.txEnd(true);
-
-                            queue.add(key);
-                        }
-                    }
-
-                    if (queueEmpty) { // Add.
-                        UUID key = UUID.randomUUID();
-
-                        if (rnd.nextBoolean())
-                            store.write(new CacheEntryImpl<>(key, key));
-                        else {
-                            Collection<Cache.Entry<? extends Object, ? extends 
Object>> col = new ArrayList<>();
-
-                            col.add(new CacheEntryImpl<>(key, key));
-
-                            store.writeAll(col);
-                        }
-
-                        if (tx != null)
-                            store.txEnd(true);
-
-                        queue.add(key);
-                    }
-                }
-
-                return null;
-            }
-        }, 37);
-    }
-
-    /**
-     * @param store Store.
-     * @throws Exception If failed.
-     */
-    protected void inject(T store) throws Exception {
-        getTestResources().inject(store);
-
-        GridTestUtils.setFieldValue(store, CacheStore.class, "ses", ses);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        super.beforeTest();
-
-        U.startLifecycleAware(F.asList(store));
-
-        final Collection<Object> keys = new ArrayList<>();
-
-        CI2<Object, Object> c = new CI2<Object, Object>() {
-            @Override
-            public void apply(Object k, Object v) {
-                keys.add(k);
-            }
-        };
-
-        store.loadCache(c);
-
-        if (keys.isEmpty())
-            return;
-
-        ses.newSession(null);
-
-        store.deleteAll(keys);
-
-        keys.clear();
-
-        store.loadCache(c);
-
-        assertTrue(keys.isEmpty());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Override protected void afterTest() throws Exception {
-        super.afterTest();
-
-        U.stopLifecycleAware(log, F.asList(store));
-    }
-
-    /**
-     * @return Store.
-     */
-    protected abstract T store();
-
-    /**
-     * Dummy transaction for test purposes.
-     */
-    public static class DummyTx extends GridMetadataAwareAdapter implements 
IgniteTx {
-        /** */
-        private final IgniteUuid xid = IgniteUuid.randomUuid();
-
-        /** {@inheritDoc} */
-        @Nullable @Override public IgniteUuid xid() {
-            return xid;
-        }
-
-        /** {@inheritDoc} */
-        @Nullable @Override public UUID nodeId() {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long threadId() {
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long startTime() {
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Nullable @Override public IgniteTxIsolation isolation() {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Nullable @Override public IgniteTxConcurrency concurrency() {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean implicit() {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isInvalidate() {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Nullable @Override public IgniteTxState state() {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long timeout() {
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long timeout(long timeout) {
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean setRollbackOnly() {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isRollbackOnly() {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void commit() throws IgniteCheckedException {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public void close() throws IgniteCheckedException {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteAsyncSupport enableAsync() {
-            throw new UnsupportedOperationException();
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isAsync() {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Override public <R> IgniteFuture<R> future() {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void rollback() throws IgniteCheckedException {
-            // No-op.
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestCacheSession.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestCacheSession.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestCacheSession.java
deleted file mode 100644
index d81997e..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestCacheSession.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits.cache;
-
-import org.apache.ignite.cache.store.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class TestCacheSession implements CacheStoreSession {
-    /** */
-    private IgniteTx tx;
-
-    /** */
-    private Map<Object, Object> props;
-
-    /**
-     *
-     * @param tx Transaction.
-     */
-    public void newSession(@Nullable IgniteTx tx) {
-        this.tx = tx;
-
-        props = null;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public IgniteTx transaction() {
-        return tx;
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("unchecked")
-    @Override public <K, V> Map<K, V> properties() {
-        if (props == null)
-            props = U.newHashMap(1);
-
-        return (Map<K, V>)props;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public String cacheName() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestThreadLocalCacheSession.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestThreadLocalCacheSession.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestThreadLocalCacheSession.java
deleted file mode 100644
index 0a50be4..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/TestThreadLocalCacheSession.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits.cache;
-
-import org.apache.ignite.cache.store.*;
-import org.apache.ignite.transactions.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class TestThreadLocalCacheSession implements CacheStoreSession {
-    /** */
-    private final ThreadLocal<TestCacheSession> sesHolder = new 
ThreadLocal<>();
-
-    /**
-     * @param tx Transaction.
-     */
-    public void newSession(@Nullable IgniteTx tx) {
-        TestCacheSession ses = new TestCacheSession();
-
-        ses.newSession(tx);
-
-        sesHolder.set(ses);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public IgniteTx transaction() {
-        TestCacheSession ses = sesHolder.get();
-
-        return ses != null ? ses.transaction() : null;
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("unchecked")
-    @Override public <K, V> Map<K, V> properties() {
-        TestCacheSession ses = sesHolder.get();
-
-        return ses != null ? (Map<K, V>)ses.properties() : null;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public String cacheName() {
-        TestCacheSession ses = sesHolder.get();
-
-        return ses != null ? ses.cacheName() : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd28003b/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractExamplesTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractExamplesTest.java
 
b/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractExamplesTest.java
deleted file mode 100644
index d242404..0000000
--- 
a/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractExamplesTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.gridgain.testframework.junits.common;
-
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Base class for examples test.
- */
-public abstract class GridAbstractExamplesTest extends GridCommonAbstractTest {
-    /** */
-    protected static final String[] EMPTY_ARGS = new String[0];
-
-    /** */
-    protected static final int RMT_NODES_CNT = 3;
-
-    /** */
-    protected static final String RMT_NODE_CFGS = 
"modules/core/src/test/config/examples.properties";
-
-    /** */
-    protected static final String DFLT_CFG = 
"examples/config/example-compute.xml";
-
-    /** */
-    private static final Properties rmtCfgs = new Properties();
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        stopAllGrids();
-    }
-
-    /**
-     * Starts remote nodes.
-     *
-     * @throws Exception If failed.
-     */
-    protected final void startRemoteNodes() throws Exception {
-        String name = getName().replaceFirst("test", "");
-
-        if (rmtCfgs.isEmpty()) {
-            info("Loading remote configs properties from file: " + 
RMT_NODE_CFGS);
-
-            try (FileReader reader = new 
FileReader(U.resolveGridGainPath(RMT_NODE_CFGS))) {
-                rmtCfgs.load(reader);
-            }
-        }
-
-        String cfg = rmtCfgs.getProperty(name, defaultConfig());
-
-        info("Config for remote nodes [name=" + name + ", cfg=" + cfg + ", 
dflt=" + defaultConfig() + "]");
-
-        for (int i = 0; i < RMT_NODES_CNT; i++)
-            startGrid(getTestGridName(i), cfg);
-    }
-
-    /**
-     * @return Default config for this test.
-     */
-    protected String defaultConfig() {
-        return DFLT_CFG;
-    }
-}

Reply via email to