You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/09/13 17:30:52 UTC

[2/2] ignite git commit: IGNITE-9212 Uncomment or explain various commented out tests. - Fixes #4700.

IGNITE-9212 Uncomment or explain various commented out tests. - Fixes #4700.

Signed-off-by: Dmitriy Pavlov <dp...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/02792e5e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/02792e5e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/02792e5e

Branch: refs/heads/master
Commit: 02792e5edc7b030ddadc7b2f4dcfc9d4f854cf2f
Parents: 5206981
Author: Ilya Kasnacheev <il...@gmail.com>
Authored: Thu Sep 13 20:30:41 2018 +0300
Committer: Dmitriy Pavlov <dp...@apache.org>
Committed: Thu Sep 13 20:30:41 2018 +0300

----------------------------------------------------------------------
 .../internal/TaskEventSubjectIdSelfTest.java    |  10 +-
 .../client/suite/IgniteClientTestSuite.java     |   8 +-
 .../internal/jdbc2/JdbcBulkLoadSelfTest.java    |   2 +-
 .../rest/MemcacheRestProcessorTest.java         |  77 ----
 .../processors/rest/RestProcessorTest.java      | 351 -------------------
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java   |   3 +-
 .../core/src/test/config/loaders/grid-cfg.xml   |  17 +-
 modules/core/src/test/config/tests.properties   |   2 +-
 .../cmdline/GridCommandLineLoaderTest.java      |  91 +++--
 .../extdata/uri/META-INF/bad-classes-ignite.xml |  40 +++
 .../META-INF/bad-signed-deployfile-ignite.xml   |  39 +++
 .../uri/META-INF/deploydepend-ignite.xml        |  37 ++
 .../extdata/uri/META-INF/deploydir-ignite.xml   |  38 ++
 .../extdata/uri/META-INF/deployfile-ignite.xml  |  38 ++
 .../META-INF/well-signed-deployfile-ignite.xml  |  38 ++
 .../extdata/uri/config/signeddeploy/keystore    | Bin 0 -> 1191 bytes
 modules/extdata/uri/pom.xml                     | 113 ++++++
 .../uri/tasks/GridUriDeploymentDependency1.java |   6 +-
 .../uri/tasks/GridUriDeploymentDependency2.java |  10 +-
 .../uri/tasks/GridUriDeploymentTestTask2.java   |   6 +-
 .../igfs/IgfsNearOnlyMultiNodeSelfTest.java     |  14 +-
 .../testsuites/IgniteHadoopTestSuite.java       |   3 +-
 .../IgniteIgfsLinuxAndMacOSTestSuite.java       |   2 +-
 .../testsuites/IgniteHibernateTestSuite.java    |   2 +-
 .../testsuites/IgniteHibernate5TestSuite.java   |   2 +-
 .../GridSpringCacheManagerMultiJvmSelfTest.java |   2 +
 .../testsuites/IgniteSpringTestSuite.java       |   4 +-
 .../uri/GridUriDeploymentFileProcessor.java     |   5 +-
 .../scanners/UriDeploymentScannerManager.java   |   5 +-
 .../uri/GridUriDeploymentAbstractSelfTest.java  |  25 +-
 .../GridUriDeploymentFileProcessorSelfTest.java |   9 +-
 .../uri/GridUriDeploymentMd5CheckSelfTest.java  |  56 +--
 ...loymentMultiScannersErrorThrottlingTest.java |   5 +-
 .../META-INF/bad-signed-deployfile-ignite.xml   |  39 ---
 .../spi/deployment/uri/META-INF/bad_classes.xml |  40 ---
 .../META-INF/deploy-with-resources-ignite.xml   |  37 --
 .../uri/META-INF/deploydepend-ignite.xml        |  37 --
 .../uri/META-INF/deploydir-ignite.xml           |  38 --
 .../uri/META-INF/deployfile-ignite.xml          |  38 --
 .../spi/deployment/uri/META-INF/p2p-ignite.xml  |  42 ---
 .../META-INF/well-signed-deployfile-ignite.xml  |  38 --
 .../file/GridFileDeploymentSelfTest.java        |  18 +-
 .../http/GridHttpDeploymentSelfTest.java        |  28 +-
 .../IgniteUriDeploymentTestSuite.java           |   6 +-
 .../zk/ZookeeperDiscoverySpiTestSuite1.java     |   2 +-
 ...ZookeeperDiscoverySpiSaslFailedAuthTest.java |   2 +
 parent/pom.xml                                  |   1 +
 47 files changed, 560 insertions(+), 866 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/internal/TaskEventSubjectIdSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/TaskEventSubjectIdSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/TaskEventSubjectIdSelfTest.java
index 93b720f..46aaa6b 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/TaskEventSubjectIdSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/TaskEventSubjectIdSelfTest.java
@@ -173,7 +173,7 @@ public class TaskEventSubjectIdSelfTest extends GridCommonAbstractTest {
                     return null;
                 }
             },
-            IgniteCheckedException.class,
+            IgniteException.class,
             null
         );
 
@@ -328,7 +328,7 @@ public class TaskEventSubjectIdSelfTest extends GridCommonAbstractTest {
         assert evt != null;
 
         assertEquals(EVT_TASK_STARTED, evt.type());
-        assertEquals(client.id(), evt.subjectId());
+        assertEquals(nodeId, evt.subjectId());
 
         assert it.hasNext();
 
@@ -337,7 +337,7 @@ public class TaskEventSubjectIdSelfTest extends GridCommonAbstractTest {
         assert evt != null;
 
         assertEquals(EVT_TASK_REDUCED, evt.type());
-        assertEquals(client.id(), evt.subjectId());
+        assertEquals(nodeId, evt.subjectId());
 
         assert it.hasNext();
 
@@ -346,7 +346,7 @@ public class TaskEventSubjectIdSelfTest extends GridCommonAbstractTest {
         assert evt != null;
 
         assertEquals(EVT_TASK_FINISHED, evt.type());
-        assertEquals(client.id(), evt.subjectId());
+        assertEquals(nodeId, evt.subjectId());
 
         assert !it.hasNext();
     }
@@ -408,4 +408,4 @@ public class TaskEventSubjectIdSelfTest extends GridCommonAbstractTest {
             return null;
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/internal/client/suite/IgniteClientTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/client/suite/IgniteClientTestSuite.java b/modules/clients/src/test/java/org/apache/ignite/internal/client/suite/IgniteClientTestSuite.java
index c7017d6..94b553b 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/client/suite/IgniteClientTestSuite.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/client/suite/IgniteClientTestSuite.java
@@ -55,12 +55,10 @@ import org.apache.ignite.internal.processors.rest.JettyRestProcessorAuthenticati
 import org.apache.ignite.internal.processors.rest.JettyRestProcessorAuthenticationWithTokenSelfTest;
 import org.apache.ignite.internal.processors.rest.JettyRestProcessorSignedSelfTest;
 import org.apache.ignite.internal.processors.rest.JettyRestProcessorUnsignedSelfTest;
-import org.apache.ignite.internal.processors.rest.MemcacheRestProcessorTest;
 import org.apache.ignite.internal.processors.rest.RestBinaryProtocolSelfTest;
 import org.apache.ignite.internal.processors.rest.RestMemcacheProtocolSelfTest;
 import org.apache.ignite.internal.processors.rest.RestProcessorMultiStartSelfTest;
 import org.apache.ignite.internal.processors.rest.RestProcessorStartSelfTest;
-import org.apache.ignite.internal.processors.rest.RestProcessorTest;
 import org.apache.ignite.internal.processors.rest.TaskCommandHandlerSelfTest;
 import org.apache.ignite.internal.processors.rest.TcpRestUnmarshalVulnerabilityTest;
 import org.apache.ignite.internal.processors.rest.protocols.tcp.TcpRestParserSelfTest;
@@ -86,7 +84,6 @@ public class IgniteClientTestSuite extends TestSuite {
 
         // Test memcache protocol with custom test client.
         suite.addTestSuite(RestMemcacheProtocolSelfTest.class);
-        //suite.addTestSuite(MemcacheRestProcessorTest.class);
 
         // Test custom binary protocol with test client.
         suite.addTestSuite(RestBinaryProtocolSelfTest.class);
@@ -106,7 +103,6 @@ public class IgniteClientTestSuite extends TestSuite {
         suite.addTestSuite(RedisProtocolConnectSelfTest.class);
         suite.addTestSuite(RedisProtocolServerSelfTest.class);
 
-        //suite.addTestSuite(RestProcessorTest.class);
         suite.addTestSuite(RestProcessorStartSelfTest.class);
 
         // Test cache flag conversion.
@@ -143,8 +139,8 @@ public class IgniteClientTestSuite extends TestSuite {
 
         // Rest task command handler test.
         suite.addTestSuite(TaskCommandHandlerSelfTest.class);
-        //suite.addTestSuite(ChangeStateCommandHandlerTest.class);
-        //suite.addTestSuite(TaskEventSubjectIdSelfTest.class);
+        suite.addTestSuite(ChangeStateCommandHandlerTest.class);
+        suite.addTestSuite(TaskEventSubjectIdSelfTest.class);
 
         // Default cache only test.
         suite.addTestSuite(ClientDefaultCacheSelfTest.class);

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcBulkLoadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcBulkLoadSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcBulkLoadSelfTest.java
index e91585f..753a98c 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcBulkLoadSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcBulkLoadSelfTest.java
@@ -130,7 +130,7 @@ public class JdbcBulkLoadSelfTest extends GridCommonAbstractTest {
                 conn = createConnection();
 
                 try (Statement stmt = conn.createStatement()) {
-                    stmt.executeUpdate("copy from \"dummy.csv\" into Person" +
+                    stmt.executeUpdate("copy from 'dummy.csv' into Person" +
                         " (_key, id, firstName, lastName) format csv");
 
                     return null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/MemcacheRestProcessorTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/MemcacheRestProcessorTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/MemcacheRestProcessorTest.java
deleted file mode 100644
index 9a84424..0000000
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/MemcacheRestProcessorTest.java
+++ /dev/null
@@ -1,77 +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.apache.ignite.internal.processors.rest;
-
-import java.net.InetSocketAddress;
-import java.util.Map;
-import net.spy.memcached.BinaryConnectionFactory;
-import net.spy.memcached.MemcachedClient;
-import net.spy.memcached.MemcachedClientIF;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-/**
- */
-public class MemcacheRestProcessorTest extends GridCommonAbstractTest {
-    /** Client. */
-    private MemcachedClientIF client;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        client = new MemcachedClient(new BinaryConnectionFactory(),
-                F.asList(new InetSocketAddress("127.0.0.1", 11211)));
-
-        assert client.flush().get();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGetBulk() throws Exception {
-        assert client.add("key1", 0, 1).get();
-        assert client.add("key2", 0, 2).get();
-
-        Map<String, Object> map = client.getBulk("key1", "key2");
-
-        assert map.size() == 2;
-        assert map.get("key1").equals(1);
-        assert map.get("key2").equals(2);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testAppend() throws Exception {
-        assert client.add("key", 0, "val").get();
-
-        assert client.append(0, "key", "_1").get();
-
-        assert "val_1".equals(client.get("key"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPrepend() throws Exception {
-        assert client.add("key", 0, "val").get();
-
-        assert client.prepend(0, "key", "1_").get();
-
-        assert "1_val".equals(client.get("key"));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorTest.java
deleted file mode 100644
index 5b4ce53..0000000
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorTest.java
+++ /dev/null
@@ -1,351 +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.apache.ignite.internal.processors.rest;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.configuration.ConnectorConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-/**
- * Rest processor test.
- * <p>
- * URLs to test:
- * <ul>
- * <li>http://localhost:8080/ignite?cmd=get&key=simpleBean</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=complexBean</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=list</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=map</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=int</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=string</li>
- * <li>http://localhost:8080/ignite?cmd=get&key=date</li>
- * <li>http://localhost:8080/ignite?cmd=top</li>
- * <li>http://localhost:8080/ignite?cmd=exe&name=org.apache.ignite.internal.processors.rest.TestTask2</li>
- * <li>http://localhost:8080/ignite?cmd=exe&name=org.apache.ignite.internal.processors.rest.TestTask2&async=true</li>
- * <li>http://localhost:8080/ignite?cmd=res&id=XXXX</li>
- * </ul>
- */
-public class RestProcessorTest extends GridCommonAbstractTest {
-    /** Counter */
-    private static int cntr;
-
-    /** */
-    public RestProcessorTest() {
-        super(/*start grid*/false);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected long getTestTimeout() {
-        return Long.MAX_VALUE;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRest() throws Exception {
-        IgniteConfiguration cfg = getConfiguration((String)null);
-
-        cfg = cacheTestConfiguration(cfg);
-
-        G.start(cfg);
-
-        populateCache();
-
-        deployTasks();
-
-        // Wait until Ok is pressed.
-        JOptionPane.showMessageDialog(
-            null,
-            new JComponent[] {
-                new JLabel("Ignite started."),
-                new JLabel(
-                    "<html>" +
-                        "You can use JMX console at <u>http://localhost:1234</u>" +
-                        "</html>"),
-                new JLabel("Press OK to stop Ignite.")
-            },
-            "Ignite Startup JUnit",
-            JOptionPane.INFORMATION_MESSAGE
-        );
-
-        G.stop(true);
-    }
-
-    /**
-     * @param cfg Initial configuration.
-     * @return Final configuration.
-     */
-    @SuppressWarnings({"unchecked"})
-    private IgniteConfiguration cacheTestConfiguration(IgniteConfiguration cfg) {
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
-
-        ipFinder.setShared(true);
-
-        disco.setIpFinder(ipFinder);
-
-        cfg.setDiscoverySpi(disco);
-
-        assert cfg.getConnectorConfiguration() == null;
-
-        ConnectorConfiguration clientCfg = new ConnectorConfiguration();
-
-        // Ensure - no authentication.
-        clientCfg.setSecretKey(null);
-
-        cfg.setConnectorConfiguration(clientCfg);
-
-        cfg.setCacheConfiguration(defaultCacheConfiguration());
-
-        return cfg;
-    }
-
-    /**
-     * @return Integer.
-     */
-    private int intValue() {
-        return ++cntr;
-    }
-
-    /**
-     *
-     */
-    private void populateCache() {
-        IgniteCache<String, Object> cache = G.ignite().cache(DEFAULT_CACHE_NAME);
-
-        cache.put("int", intValue());
-        cache.put("string", "cacheString");
-        cache.put("date", new Date());
-        cache.put("list", createCollection());
-        cache.put("map", createMap());
-        cache.put("simpleBean", new SimpleBean());
-
-        ComplexBean bean = new ComplexBean(new SimpleBean(intValue(), "complexSimpleString"));
-
-        bean.setComplexBean(new ComplexBean(new SimpleBean(intValue(), "complexComplexString")));
-
-        cache.put("complexBean", bean);
-    }
-
-    /**
-     *
-     */
-    private void deployTasks() {
-        G.ignite().compute().localDeployTask(TestTask1.class, TestTask1.class.getClassLoader());
-        G.ignite().compute().localDeployTask(TestTask2.class, TestTask2.class.getClassLoader());
-    }
-
-    /**
-     * @return Map.
-     */
-    private Map<?, ?> createMap() {
-        Map<Object, Object> map = new HashMap<>();
-
-        map.put("intValue", intValue());
-        map.put("stringValue", "mapString");
-        map.put("simpleBean", new SimpleBean());
-        map.put("complexBean", new ComplexBean(new SimpleBean(intValue(), "mapSimpleComplexString")));
-
-        Map<Object, Object> nested = new HashMap<>();
-
-        nested.put("intValue", intValue());
-        nested.put("stringValue", "nestedMapString");
-        nested.put("simpleBean", new SimpleBean());
-        nested.put("complexBean", new ComplexBean(new SimpleBean(intValue(), "mapSimpleComplexNestedString")));
-
-        map.put("nestedMap", nested);
-
-        return map;
-    }
-
-    /**
-     * @return List.
-     */
-    private Collection<?> createCollection() {
-        Collection<Object> list = new ArrayList<>();
-
-        list.add(intValue());
-        list.add("listString");
-        list.add(new Date());
-
-        Collection<Object> nested = new ArrayList<>();
-
-        nested.add(intValue());
-        nested.add("nestedListString");
-        nested.add(new Date());
-
-        list.add(nested);
-
-        return list;
-    }
-
-    /**
-     * Simple bean.
-     */
-    @SuppressWarnings( {"ReturnOfDateField", "AssignmentToDateFieldFromParameter", "PublicInnerClass"})
-    public static class SimpleBean implements Serializable {
-        /** */
-        private int intField = 12345;
-
-        /** */
-        private String strField = "testString";
-
-        /** */
-        private Date date = new Date();
-
-        /**
-         * Empty constructor.
-         */
-        private SimpleBean() {
-            // No-op.
-        }
-
-        /**
-         * @param intField Int value.
-         * @param strField String value.
-         */
-        private SimpleBean(int intField, String strField) {
-            this.intField = intField;
-            this.strField = strField;
-        }
-
-        /**
-         * @param intField Int value.
-         * @param strField String value.
-         * @param date Date value.
-         */
-        private SimpleBean(int intField, String strField, Date date) {
-            this.intField = intField;
-            this.strField = strField;
-            this.date = date;
-        }
-
-        /**
-         * @return Int value.
-         */
-        public int getIntField() {
-            return intField;
-        }
-
-        /**
-         * @param intField Int value.
-         */
-        public void setIntField(int intField) {
-            this.intField = intField;
-        }
-
-        /**
-         * @return String value.
-         */
-        public String getStringField() {
-            return strField;
-        }
-
-        /**
-         * @param strField String value.
-         */
-        public void setStringField(String strField) {
-            this.strField = strField;
-        }
-
-        /**
-         * @return Date value.
-         */
-        public Date getDate() {
-            return date;
-        }
-
-        /**
-         * @param date Date value.
-         */
-        public void setDate(Date date) {
-            this.date = date;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(SimpleBean.class, this);
-        }
-    }
-
-    /**
-     * Simple bean.
-     */
-    @SuppressWarnings( {"ReturnOfDateField", "PublicInnerClass"})
-    public static class ComplexBean extends SimpleBean {
-        /** */
-        private SimpleBean simpleBean = new SimpleBean(67890, "nestedTestString", new Date());
-
-        /** */
-        private ComplexBean complexBean;
-
-        /**
-         * @param simpleBean Simple bean.
-         */
-        private ComplexBean(SimpleBean simpleBean) {
-            this.simpleBean = simpleBean;
-        }
-
-        /**
-         * @return Simple bean.
-         */
-        public SimpleBean getSimpleBean() {
-            return simpleBean;
-        }
-
-        /**
-         * @param simpleBean Simple bean.
-         */
-        public void setSimpleBean(SimpleBean simpleBean) {
-            this.simpleBean = simpleBean;
-        }
-
-        /**
-         * @return Complex bean.
-         */
-        public ComplexBean getComplexBean() {
-            return complexBean;
-        }
-
-        /**
-         * @param complexBean Complex bean.
-         */
-        public void setComplexBean(ComplexBean complexBean) {
-            this.complexBean = complexBean;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(ComplexBean.class, this);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java b/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
index 7fbf41f..2e98d68 100644
--- a/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
+++ b/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
@@ -19,6 +19,7 @@ package org.apache.ignite.jdbc.suite;
 
 import junit.framework.TestSuite;
 import org.apache.ignite.internal.jdbc2.JdbcBlobTest;
+import org.apache.ignite.internal.jdbc2.JdbcBulkLoadSelfTest;
 import org.apache.ignite.internal.jdbc2.JdbcConnectionReopenTest;
 import org.apache.ignite.internal.jdbc2.JdbcDistributedJoinsQueryTest;
 import org.apache.ignite.jdbc.JdbcComplexQuerySelfTest;
@@ -134,7 +135,7 @@ public class IgniteJdbcDriverTestSuite extends TestSuite {
         suite.addTest(new TestSuite(org.apache.ignite.internal.jdbc2.JdbcErrorsSelfTest.class));
         suite.addTest(new TestSuite(org.apache.ignite.internal.jdbc2.JdbcStreamingToPublicCacheTest.class));
         suite.addTest(new TestSuite(org.apache.ignite.internal.jdbc2.JdbcNoCacheStreamingSelfTest.class));
-        //suite.addTest(new TestSuite(JdbcBulkLoadSelfTest.class));
+        suite.addTest(new TestSuite(JdbcBulkLoadSelfTest.class));
 
         suite.addTest(new TestSuite(JdbcBlobTest.class));
         suite.addTest(new TestSuite(org.apache.ignite.internal.jdbc2.JdbcStreamingSelfTest.class));

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/core/src/test/config/loaders/grid-cfg.xml
----------------------------------------------------------------------
diff --git a/modules/core/src/test/config/loaders/grid-cfg.xml b/modules/core/src/test/config/loaders/grid-cfg.xml
index 3966baf..818b050 100644
--- a/modules/core/src/test/config/loaders/grid-cfg.xml
+++ b/modules/core/src/test/config/loaders/grid-cfg.xml
@@ -28,7 +28,7 @@
     <!--
         Grid configuration.
     -->
-    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true">
+    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
         <!-- Grid with default name. -->
 
         <property name="connectorConfiguration"><null/></property>
@@ -43,9 +43,15 @@
                 </property>
             </bean>
         </property>
+
+        <property name="lifecycleBeans">
+            <list>
+                <bean class="org.apache.ignite.startup.cmdline.GridCommandLineLoaderTest.KillerLifecycleBean" />
+            </list>
+        </property>
     </bean>
 
-    <bean id="grid.cfg.2" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true">
+    <bean id="grid.cfg.2" class="org.apache.ignite.configuration.IgniteConfiguration">
         <property name="igniteInstanceName" value="gridName2"/>
 
         <property name="connectorConfiguration"><null/></property>
@@ -60,5 +66,12 @@
                 </property>
             </bean>
         </property>
+
+        <property name="lifecycleBeans">
+            <list>
+                <bean class="org.apache.ignite.startup.cmdline.GridCommandLineLoaderTest.KillerLifecycleBean" />
+            </list>
+        </property>
     </bean>
+
 </beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/core/src/test/config/tests.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/test/config/tests.properties b/modules/core/src/test/config/tests.properties
index b39e3ca..89ea55e 100644
--- a/modules/core/src/test/config/tests.properties
+++ b/modules/core/src/test/config/tests.properties
@@ -45,7 +45,7 @@ deploy.uri.file2.path=${java.io.tmpdir}/gg/verification/
 # URI string.
 deploy.uri.file2=file://freq=200@localhost/${java.io.tmpdir}/gg/verification/
 # File scanner URI for local file deployment.
-deploy.uri.file=file://localhost/@{IGNITE_HOME}/work/deployment/file/
+deploy.uri.file=file://localhost/@{IGNITE_HOME}/modules/extdata/uri/target/file/
 # FTP scanner URI for FTP deployment.
 deploy.uri.ftp=ftp://ftptest:iddqd@94.72.60.102:21/test/deployment
 # Classes scanner URI for classes deployment. Must be overridden for every user.

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineLoaderTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineLoaderTest.java b/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineLoaderTest.java
index b7bc7e8..612479b 100644
--- a/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineLoaderTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineLoaderTest.java
@@ -17,15 +17,21 @@
 
 package org.apache.ignite.startup.cmdline;
 
-import java.util.concurrent.CountDownLatch;
-import org.apache.ignite.IgniteState;
-import org.apache.ignite.IgnitionListener;
-import org.apache.ignite.internal.util.typedef.G;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.lang.GridAbsPredicate;
 import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lifecycle.LifecycleBean;
+import org.apache.ignite.lifecycle.LifecycleEventType;
+import org.apache.ignite.resources.IgniteInstanceResource;
+import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.testframework.junits.common.GridCommonTest;
+import org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy;
 
-import static org.apache.ignite.IgniteState.STARTED;
+import static org.apache.ignite.IgniteSystemProperties.IGNITE_RESTART_CODE;
 
 /**
  * Command line loader test.
@@ -35,34 +41,71 @@ public class GridCommandLineLoaderTest extends GridCommonAbstractTest {
     /** */
     private static final String GRID_CFG_PATH = "/modules/core/src/test/config/loaders/grid-cfg.xml";
 
-    /** */
-    private final CountDownLatch latch = new CountDownLatch(2);
-
-    /** */
-    public GridCommandLineLoaderTest() {
-        super(false);
-    }
-
     /**
      * @throws Exception If failed.
      */
     public void testLoader() throws Exception {
         String path = U.getIgniteHome() + GRID_CFG_PATH;
 
-        info("Loading Grid from configuration file: " + path);
+        info("Using Grids from configuration file: " + path);
 
-        G.addListener(new IgnitionListener() {
-            @Override public void onStateChange(String name, IgniteState state) {
-                if (state == STARTED) {
-                    info("Received started notification from grid: " + name);
+        IgniteProcessProxy proxy = new IgniteProcessProxy(
+            new IgniteConfiguration().setIgniteInstanceName("fake"), log, null) {
+                @Override protected String igniteNodeRunnerClassName() throws Exception {
+                    return CommandLineStartup.class.getCanonicalName();
+                }
 
-                    latch.countDown();
+                @Override protected String params(IgniteConfiguration cfg, boolean resetDiscovery) throws Exception {
+                    return path;
+                }
+            };
 
-                    G.stop(name, true);
+        try {
+            GridTestUtils.waitForCondition(new GridAbsPredicate() {
+                @Override public boolean apply() {
+                    return !proxy.getProcess().getProcess().isAlive();
                 }
-            }
-        });
+            }, 150_000);
+        }
+        finally {
+            if (proxy.getProcess().getProcess().isAlive())
+                proxy.kill();
+        }
+
+        assertEquals(2, proxy.getProcess().getProcess().exitValue());
+    }
+
+    /**
+     * Kills node after it is started.
+     */
+    public static class KillerLifecycleBean implements LifecycleBean {
+        /** */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** */
+        @Override public void onLifecycleEvent(LifecycleEventType evt) throws IgniteException {
+            if (evt == LifecycleEventType.AFTER_NODE_START) {
+                System.setProperty(IGNITE_RESTART_CODE, Integer.toString(
+                    1 + IgniteSystemProperties.getInteger(IGNITE_RESTART_CODE, 0)));
 
-        CommandLineStartup.main(new String[]{path});
+                System.out.println("Ignite instance seen, will shut it down.");
+
+                new Thread(new Runnable() {
+                    @Override public void run() {
+                        try {
+                            Thread.sleep(3000);
+                        }
+                        catch (InterruptedException e) {
+                            e.printStackTrace();
+                        }
+
+                        System.out.println("Shutdown imminent.");
+
+                        ignite.close();
+                    }
+                }).start();
+            }
+        }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/bad-classes-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/bad-classes-ignite.xml b/modules/extdata/uri/META-INF/bad-classes-ignite.xml
new file mode 100644
index 0000000..5b59b93
--- /dev/null
+++ b/modules/extdata/uri/META-INF/bad-classes-ignite.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentAbstractTestTask</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentInnerTestTask$GridInnerTestTask</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentInterfaceTestTask</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentNonePublicTestTask</value>
+    </util:list>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/bad-signed-deployfile-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/bad-signed-deployfile-ignite.xml b/modules/extdata/uri/META-INF/bad-signed-deployfile-ignite.xml
new file mode 100644
index 0000000..ddad102
--- /dev/null
+++ b/modules/extdata/uri/META-INF/bad-signed-deployfile-ignite.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestTask6</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestWithNameTask6</value>
+    </util:list>
+</beans>
+

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/deploydepend-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/deploydepend-ignite.xml b/modules/extdata/uri/META-INF/deploydepend-ignite.xml
new file mode 100644
index 0000000..cd09847
--- /dev/null
+++ b/modules/extdata/uri/META-INF/deploydepend-ignite.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestTask1</value>
+    </util:list>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/deploydir-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/deploydir-ignite.xml b/modules/extdata/uri/META-INF/deploydir-ignite.xml
new file mode 100644
index 0000000..d9ff2bc
--- /dev/null
+++ b/modules/extdata/uri/META-INF/deploydir-ignite.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestTask0</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestWithNameTask0</value>
+    </util:list>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/deployfile-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/deployfile-ignite.xml b/modules/extdata/uri/META-INF/deployfile-ignite.xml
new file mode 100644
index 0000000..81d5b36
--- /dev/null
+++ b/modules/extdata/uri/META-INF/deployfile-ignite.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestTask3</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestWithNameTask3</value>
+    </util:list>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/META-INF/well-signed-deployfile-ignite.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/META-INF/well-signed-deployfile-ignite.xml b/modules/extdata/uri/META-INF/well-signed-deployfile-ignite.xml
new file mode 100644
index 0000000..6822e37
--- /dev/null
+++ b/modules/extdata/uri/META-INF/well-signed-deployfile-ignite.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<!--
+    Spring configuration file for test classes in gar-file.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+    <description>Ignite Spring configuration file in gar-file.</description>
+
+    <!--
+        Test tasks specification.
+    -->
+    <util:list id="tasks">
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestTask5</value>
+        <value>org.apache.ignite.spi.deployment.uri.tasks.GridUriDeploymentTestWithNameTask5</value>
+    </util:list>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/config/signeddeploy/keystore
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/config/signeddeploy/keystore b/modules/extdata/uri/config/signeddeploy/keystore
new file mode 100644
index 0000000..dc51a0f
Binary files /dev/null and b/modules/extdata/uri/config/signeddeploy/keystore differ

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/pom.xml b/modules/extdata/uri/pom.xml
index bd25653..43c0516 100644
--- a/modules/extdata/uri/pom.xml
+++ b/modules/extdata/uri/pom.xml
@@ -171,6 +171,119 @@
                                 -->
                                 <gar destfile="${basedir}/target/resources/helloworld.gar" descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes" />
                                 <gar destfile="${basedir}/target/resources/helloworld1.gar" descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes" />
+
+                                <!--deploydir.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/deploydir-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask0.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask0.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deploydir0.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+                                <mkdir dir="${basedir}/target/file/deploydir.gar" />
+                                <unzip src="${basedir}/target/file/deploydir0.gar" dest="${basedir}/target/file/deploydir.gar" />
+                                <delete file="${basedir}/target/file/deploydir0.gar" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--deployfile.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/deployfile-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask3.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask3.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deployfile.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--deployfile-nodescr.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask4.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask4.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deployfile-nodescr.gar" basedir="${basedir}/target/file_tmp/classes" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--deployfile-bad.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/bad-classes-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentAbstractTestTask.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentInnerTestTask.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentInnerTestTask$GridInnerTestTask.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentInterfaceTestTask.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentNonePublicTestTask.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deployfile-bad.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--deployfile-depend.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/deploydepend-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask1.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/test1.properties" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deployfile-depend.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+                                <zip destfile="${basedir}/target/file/deployfile-depend.gar" basedir="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/" includes="spring1.xml" update="yes" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--deploydir-nodescr-depend.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/test2.properties" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/spring2.xml" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/deploydir-nodescr-depend0.gar" basedir="${basedir}/target/file_tmp/classes" />
+                                <mkdir dir="${basedir}/target/file/deploydir-nodescr-depend.gar" />
+                                <unzip src="${basedir}/target/file/deploydir-nodescr-depend0.gar" dest="${basedir}/target/file/deploydir-nodescr-depend.gar" />
+                                <delete file="${basedir}/target/file/deploydir-nodescr-depend0.gar" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--well-signed-deployfile.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/well-signed-deployfile-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask5.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask5.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+
+                                <gar destfile="${basedir}/target/file/well-signed-deployfile.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+
+                                <signjar jar="${basedir}/target/file/well-signed-deployfile.gar" keystore="${basedir}/config/signeddeploy/keystore" storepass="abc123" keypass="abc123" alias="business" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
+
+                                <!--bad-signed-deployfile.gar-->
+                                <mkdir dir="${basedir}/target/file_tmp/META-INF/" />
+                                <copy file="${basedir}/META-INF/bad-signed-deployfile-ignite.xml" tofile="${basedir}/target/file_tmp/META-INF/ignite.xml" />
+
+                                <mkdir dir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask6.class" todir="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/" />
+                                <copy file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask6.class" tofile="${basedir}/target/file_tmp/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask6.class" />
+
+                                <gar destfile="${basedir}/target/file/bad-signed-deployfile.gar" descrdir="${basedir}/target/file_tmp/META-INF" basedir="${basedir}/target/file_tmp/classes" />
+
+                                <signjar jar="${basedir}/target/file/bad-signed-deployfile.gar" keystore="${basedir}/config/signeddeploy/keystore" storepass="abc123" keypass="abc123" alias="business" />
+
+                                <sleep seconds="2" />
+
+                                <touch file="${basedir}/target/classes/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask6.class" />
+
+                                <zip destfile="${basedir}/target/file/bad-signed-deployfile.gar" basedir="${basedir}/target/classes/" includes="org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestWithNameTask6.class" update="yes" />
+
+                                <delete dir="${basedir}/target/file_tmp/" />
                             </target>
                         </configuration>
                     </execution>

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.java
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.java
index e57bab5..2e205b1 100644
--- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.java
+++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency1.java
@@ -25,11 +25,11 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 /**
  * This class used by {@link GridUriDeploymentTestTask2} which loaded from GAR file.
  * GridDependency loaded from {@code /lib/*.jar} in GAR file.
- * GridDependency load resource {@code test.properties} from the same jar in {@code /lib/*.jar}
+ * GridDependency load resource {@code test1.properties} from the same jar in {@code /lib/*.jar}
  */
 public class GridUriDeploymentDependency1 {
     /** */
-    public static final String RESOURCE = "org/apache/ignite/grid/spi/deployment/uri/tasks/test1.properties";
+    public static final String RESOURCE = "org/apache/ignite/spi/deployment/uri/tasks/test1.properties";
 
     /**
      * @return Value of the property {@code test1.txt} loaded from the {@code test1.properties} file.
@@ -55,4 +55,4 @@ public class GridUriDeploymentDependency1 {
 
         return null;
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.java
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.java
index 4717fee..5a2c55b 100644
--- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.java
+++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentDependency2.java
@@ -25,14 +25,14 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 /**
  * This class used by {@link GridUriDeploymentTestTask2} which loaded from GAR file.
  * GridDependency loaded from {@code /lib/*.jar} in GAR file.
- * GridDependency load resource {@code test.properties} from the same jar in {@code /lib/*.jar}
+ * GridDependency load resource {@code test2.properties} from the same jar in {@code /lib/*.jar}
  */
 public class GridUriDeploymentDependency2 {
     /** */
-    public static final String RESOURCE = "org/apache/ignite/grid/spi/deployment/uri/tasks/test2.properties";
+    public static final String RESOURCE = "org/apache/ignite/spi/deployment/uri/tasks/test2.properties";
 
     /**
-     * @return Value of the property {@code test1.txt} loaded from the {@code test2.properties} file.
+     * @return Value of the property {@code test2.txt} loaded from the {@code test2.properties} file.
      */
     public String getMessage() {
         InputStream in = null;
@@ -44,7 +44,7 @@ public class GridUriDeploymentDependency2 {
 
             props.load(in);
 
-            return props.getProperty("test1.txt");
+            return props.getProperty("test2.txt");
         }
         catch (IOException e) {
             e.printStackTrace();
@@ -55,4 +55,4 @@ public class GridUriDeploymentDependency2 {
 
         return null;
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java
index 3a6f5a4..e354b42 100644
--- a/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java
+++ b/modules/extdata/uri/src/main/java/org/apache/ignite/spi/deployment/uri/tasks/GridUriDeploymentTestTask2.java
@@ -27,7 +27,7 @@ import org.springframework.beans.factory.xml.XmlBeanFactory;
 import org.springframework.core.io.ClassPathResource;
 
 /**
- * URI deployment test task which loads Spring bean definitions from spring1.xml configuration file.
+ * URI deployment test task which loads Spring bean definitions from spring2.xml configuration file.
  */
 public class GridUriDeploymentTestTask2 extends ComputeTaskSplitAdapter<Object, Object> {
     /** */
@@ -37,7 +37,7 @@ public class GridUriDeploymentTestTask2 extends ComputeTaskSplitAdapter<Object,
     @SuppressWarnings("unchecked")
     public GridUriDeploymentTestTask2() {
         XmlBeanFactory factory = new XmlBeanFactory(
-            new ClassPathResource("org/apache/ignite/grid/spi/deployment/uri/tasks/spring2.xml",
+            new ClassPathResource("org/apache/ignite/spi/deployment/uri/tasks/spring2.xml",
                 getClass().getClassLoader()));
 
         factory.setBeanClassLoader(getClass().getClassLoader());
@@ -70,4 +70,4 @@ public class GridUriDeploymentTestTask2 extends ComputeTaskSplitAdapter<Object,
 
         return null;
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/IgfsNearOnlyMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/IgfsNearOnlyMultiNodeSelfTest.java b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/IgfsNearOnlyMultiNodeSelfTest.java
index d3df289..20699f1 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/IgfsNearOnlyMultiNodeSelfTest.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/impl/igfs/IgfsNearOnlyMultiNodeSelfTest.java
@@ -69,10 +69,6 @@ public class IgfsNearOnlyMultiNodeSelfTest extends GridCommonAbstractTest {
     /** {@inheritDoc} */
     @Override protected void beforeTestsStarted() throws Exception {
         startGrids(nodeCount());
-
-        grid(0).createNearCache("data", new NearCacheConfiguration());
-
-        grid(0).createNearCache("meta", new NearCacheConfiguration());
     }
 
     /** {@inheritDoc} */
@@ -89,8 +85,10 @@ public class IgfsNearOnlyMultiNodeSelfTest extends GridCommonAbstractTest {
         FileSystemConfiguration igfsCfg = new FileSystemConfiguration();
 
         igfsCfg.setName("igfs");
-        igfsCfg.setDataCacheConfiguration(cacheConfiguration(igniteInstanceName, "data"));
-        igfsCfg.setMetaCacheConfiguration(cacheConfiguration(igniteInstanceName, "meta"));
+        igfsCfg.setDataCacheConfiguration(cacheConfiguration(igniteInstanceName, "data")
+            .setNearConfiguration(new NearCacheConfiguration()));
+        igfsCfg.setMetaCacheConfiguration(cacheConfiguration(igniteInstanceName, "meta")
+            .setNearConfiguration(new NearCacheConfiguration()));
 
         IgfsIpcEndpointConfiguration endpointCfg = new IgfsIpcEndpointConfiguration();
 
@@ -158,7 +156,7 @@ public class IgfsNearOnlyMultiNodeSelfTest extends GridCommonAbstractTest {
      */
     protected URI getFileSystemURI(int grid) {
         try {
-            return new URI("igfs://127.0.0.1:" + (IpcSharedMemoryServerEndpoint.DFLT_IPC_PORT + grid));
+            return new URI("igfs://igfs@127.0.0.1:" + (IpcSharedMemoryServerEndpoint.DFLT_IPC_PORT + grid));
         }
         catch (URISyntaxException e) {
             throw new RuntimeException(e);
@@ -221,4 +219,4 @@ public class IgfsNearOnlyMultiNodeSelfTest extends GridCommonAbstractTest {
             }
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
index 2be2fa9..199fa96 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
@@ -176,7 +176,7 @@ public class IgniteHadoopTestSuite extends TestSuite {
 
         suite.addTest(new TestSuite(ldr.loadClass(HadoopFileSystemsTest.class.getName())));
 
-        //suite.addTest(new TestSuite(ldr.loadClass(HadoopExecutorServiceTest.class.getName())));
+        suite.addTest(new TestSuite(ldr.loadClass(HadoopExecutorServiceTest.class.getName())));
 
         suite.addTest(new TestSuite(ldr.loadClass(HadoopValidationSelfTest.class.getName())));
 
@@ -207,6 +207,7 @@ public class IgniteHadoopTestSuite extends TestSuite {
 
         suite.addTest(new TestSuite(ldr.loadClass(HadoopSortingTest.class.getName())));
 
+        // TODO https://issues.apache.org/jira/browse/IGNITE-3167
 //        suite.addTest(new TestSuite(ldr.loadClass(HadoopExternalTaskExecutionSelfTest.class.getName())));
 //        suite.addTest(new TestSuite(ldr.loadClass(HadoopExternalCommunicationSelfTest.class.getName())));
 //        suite.addTest(new TestSuite(ldr.loadClass(HadoopSortingExternalTest.class.getName())));

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteIgfsLinuxAndMacOSTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteIgfsLinuxAndMacOSTestSuite.java b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteIgfsLinuxAndMacOSTestSuite.java
index bebb656..7d1b55d 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteIgfsLinuxAndMacOSTestSuite.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteIgfsLinuxAndMacOSTestSuite.java
@@ -66,7 +66,7 @@ public class IgniteIgfsLinuxAndMacOSTestSuite extends TestSuite {
 
         suite.addTest(new TestSuite(ldr.loadClass(HadoopIgfs20FileSystemShmemPrimarySelfTest.class.getName())));
 
-        //suite.addTest(new TestSuite(ldr.loadClass(IgfsNearOnlyMultiNodeSelfTest.class.getName())));
+        suite.addTest(new TestSuite(ldr.loadClass(IgfsNearOnlyMultiNodeSelfTest.class.getName())));
 
         suite.addTest(IgfsEventsTestSuite.suite());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/hibernate-4.2/src/test/java/org/apache/ignite/testsuites/IgniteHibernateTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/hibernate-4.2/src/test/java/org/apache/ignite/testsuites/IgniteHibernateTestSuite.java b/modules/hibernate-4.2/src/test/java/org/apache/ignite/testsuites/IgniteHibernateTestSuite.java
index 2d9b25e..8d45dea 100644
--- a/modules/hibernate-4.2/src/test/java/org/apache/ignite/testsuites/IgniteHibernateTestSuite.java
+++ b/modules/hibernate-4.2/src/test/java/org/apache/ignite/testsuites/IgniteHibernateTestSuite.java
@@ -46,7 +46,7 @@ public class IgniteHibernateTestSuite extends TestSuite {
         suite.addTestSuite(HibernateL2CacheTransactionalUseSyncSelfTest.class);
         suite.addTestSuite(HibernateL2CacheConfigurationSelfTest.class);
         suite.addTestSuite(HibernateL2CacheStrategySelfTest.class);
-        //suite.addTestSuite(HibernateL2CacheMultiJvmTest.class);
+        suite.addTestSuite(HibernateL2CacheMultiJvmTest.class);
 
         suite.addTestSuite(CacheHibernateBlobStoreSelfTest.class);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/hibernate-5.1/src/test/java/org/apache/ignite/testsuites/IgniteHibernate5TestSuite.java
----------------------------------------------------------------------
diff --git a/modules/hibernate-5.1/src/test/java/org/apache/ignite/testsuites/IgniteHibernate5TestSuite.java b/modules/hibernate-5.1/src/test/java/org/apache/ignite/testsuites/IgniteHibernate5TestSuite.java
index 89e4c2a..b571599 100644
--- a/modules/hibernate-5.1/src/test/java/org/apache/ignite/testsuites/IgniteHibernate5TestSuite.java
+++ b/modules/hibernate-5.1/src/test/java/org/apache/ignite/testsuites/IgniteHibernate5TestSuite.java
@@ -46,7 +46,7 @@ public class IgniteHibernate5TestSuite extends TestSuite {
         suite.addTestSuite(HibernateL2CacheTransactionalUseSyncSelfTest.class);
         suite.addTestSuite(HibernateL2CacheConfigurationSelfTest.class);
         suite.addTestSuite(HibernateL2CacheStrategySelfTest.class);
-        //suite.addTestSuite(HibernateL2CacheMultiJvmTest.class);
+        suite.addTestSuite(HibernateL2CacheMultiJvmTest.class);
 
         suite.addTestSuite(CacheHibernateBlobStoreSelfTest.class);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/spring/src/test/java/org/apache/ignite/cache/spring/GridSpringCacheManagerMultiJvmSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/cache/spring/GridSpringCacheManagerMultiJvmSelfTest.java b/modules/spring/src/test/java/org/apache/ignite/cache/spring/GridSpringCacheManagerMultiJvmSelfTest.java
index a392bc9..acf09a7 100644
--- a/modules/spring/src/test/java/org/apache/ignite/cache/spring/GridSpringCacheManagerMultiJvmSelfTest.java
+++ b/modules/spring/src/test/java/org/apache/ignite/cache/spring/GridSpringCacheManagerMultiJvmSelfTest.java
@@ -55,6 +55,8 @@ public class GridSpringCacheManagerMultiJvmSelfTest extends GridCommonAbstractTe
      * @throws Exception If failed.
      */
     public void testSyncCache() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-9488");
+
         IgniteEx loc = startGrid(0);
 
         final int threads = 4;

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java b/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java
index 17897de..0e590a7 100644
--- a/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java
+++ b/modules/spring/src/test/java/org/apache/ignite/testsuites/IgniteSpringTestSuite.java
@@ -93,9 +93,9 @@ public class IgniteSpringTestSuite extends TestSuite {
 
         suite.addTestSuite(SpringCacheTest.class);
 
-        //suite.addTestSuite(GridSpringCacheManagerMultiJvmSelfTest.class);
+        suite.addTestSuite(GridSpringCacheManagerMultiJvmSelfTest.class);
 
-        //suite.addTestSuite(GridCommandLineLoaderTest.class);
+        suite.addTestSuite(GridCommandLineLoaderTest.class);
 
         return suite;
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessor.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessor.java b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessor.java
index 3564f2f..edde878 100644
--- a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessor.java
+++ b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessor.java
@@ -28,6 +28,7 @@ import java.net.URLClassLoader;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 import org.apache.commons.codec.binary.Hex;
@@ -228,6 +229,8 @@ final class GridUriDeploymentFileProcessor {
         if (files == null)
             return true;
 
+        Arrays.sort(files);
+
         for (File visited : files) {
             if (visited.isFile()) {
                 if (!addFileDigest(visited, digest, log))
@@ -452,4 +455,4 @@ final class GridUriDeploymentFileProcessor {
 
         return false;
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/scanners/UriDeploymentScannerManager.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/scanners/UriDeploymentScannerManager.java b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/scanners/UriDeploymentScannerManager.java
index be7e354..f5bb6d3 100644
--- a/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/scanners/UriDeploymentScannerManager.java
+++ b/modules/urideploy/src/main/java/org/apache/ignite/spi/deployment/uri/scanners/UriDeploymentScannerManager.java
@@ -114,6 +114,9 @@ public class UriDeploymentScannerManager implements UriDeploymentScannerContext
                         try {
                             scanner.scan(UriDeploymentScannerManager.this);
                         }
+                        catch (Exception e) {
+                            log.error("Uncaught error in URI deployment scanner", e);
+                        }
                         finally {
                             // Do it in finally to avoid any hanging.
                             if (firstScan) {
@@ -220,4 +223,4 @@ public class UriDeploymentScannerManager implements UriDeploymentScannerContext
     @Override public String toString() {
         return S.toString(UriDeploymentScannerManager.class, this, "uri", U.hidePassword(uri.toString()));
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentAbstractSelfTest.java b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentAbstractSelfTest.java
index 6624c3d..3333300 100644
--- a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentAbstractSelfTest.java
+++ b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentAbstractSelfTest.java
@@ -17,8 +17,11 @@
 
 package org.apache.ignite.spi.deployment.uri;
 
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.util.lang.GridAbsPredicateX;
 import org.apache.ignite.spi.deployment.DeploymentListener;
 import org.apache.ignite.spi.deployment.DeploymentResource;
+import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.config.GridTestProperties;
 import org.apache.ignite.testframework.junits.spi.GridSpiAbstractTest;
 import org.apache.ignite.testframework.junits.spi.GridSpiTestConfig;
@@ -80,4 +83,24 @@ public abstract class GridUriDeploymentAbstractSelfTest extends GridSpiAbstractT
 
         info("Not deployed task [task=" + task + ']');
     }
-}
\ No newline at end of file
+
+    /**
+     * @param taskName name of task to wait on.
+     * @param expectDeployed if {@code true}, wait for availability, else wait for unavailability.
+     * @param timeout in ms.
+     * @throws Exception if failed.
+     */
+    protected void waitForTask(String taskName, boolean expectDeployed, long timeout) throws IgniteCheckedException {
+        assertTrue("Failed to wait for (un)deployment of " + taskName,
+            GridTestUtils.waitForCondition(new GridAbsPredicateX() {
+                public boolean applyx() throws IgniteCheckedException {
+                    if (expectDeployed)
+                        return getSpi().findResource(taskName) != null;
+                    else
+                        return getSpi().findResource(taskName) == null;
+                }
+            }, timeout));
+
+        info((expectDeployed ? "Deployed" : "Not deployed") + " task [task=" + taskName + ']');
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessorSelfTest.java b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessorSelfTest.java
index fad7cb2..9508fa9 100644
--- a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessorSelfTest.java
+++ b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentFileProcessorSelfTest.java
@@ -128,14 +128,7 @@ public class GridUriDeploymentFileProcessorSelfTest extends GridUriDeploymentAbs
 
         try {
             // Wait for SPI
-            GridTestUtils.waitForCondition(new GridAbsPredicateX() {
-                @Override public boolean applyx() throws IgniteCheckedException {
-                    if (deployed)
-                        return getSpi().findResource(taskId) != null;
-                    else
-                        return getSpi().findResource(taskId) == null;
-                }
-            }, 5000);
+            waitForTask(taskId, deployed, 5000);
 
             if (deployed)
                 assert getSpi().findResource(taskId) != null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMd5CheckSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMd5CheckSelfTest.java b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMd5CheckSelfTest.java
index 923b93b..126e202 100644
--- a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMd5CheckSelfTest.java
+++ b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMd5CheckSelfTest.java
@@ -47,26 +47,22 @@ public class GridUriDeploymentMd5CheckSelfTest extends GridUriDeploymentAbstract
     public void testMd5FileCheck() throws Exception {
         undeployCntr.set(0);
 
-        DeploymentResource task = getSpi().findResource("GridUriDeploymentTestWithNameTask7");
+        String taskName = "GridUriDeploymentTestWithNameTask7";
 
-        assert task == null;
+        DeploymentResource task = getSpi().findResource(taskName);
 
-        U.copy(getGarFile(), new File(getDeployDir(), "uri1.gar"), true);
+        assert task == null;
 
-        Thread.sleep(500);
+        atomicCopy(getGarFile(), getDeployDir(), "uri1.gar");
 
-        task = getSpi().findResource("GridUriDeploymentTestWithNameTask7");
+        waitForTask(taskName, true, 10000);
 
-        assert task != null;
         assert undeployCntr.get() == 0;
 
-        U.copy(getGarFile(), new File(getDeployDir(), "uri2.gar"), true);
-
-        Thread.sleep(500);
+        atomicCopy(getGarFile(), getDeployDir(), "uri2.gar");
 
-        task = getSpi().findResource("GridUriDeploymentTestWithNameTask7");
+        waitForTask(taskName, true, 10000);
 
-        assert task != null;
         assert undeployCntr.get() == 0;
     }
 
@@ -78,31 +74,43 @@ public class GridUriDeploymentMd5CheckSelfTest extends GridUriDeploymentAbstract
     public void testMd5DirectoryCheck() throws Exception {
         undeployCntr.set(0);
 
-        DeploymentResource task = getSpi().findResource("GridUriDeploymentTestWithNameTask6");
+        String taskName = "GridUriDeploymentTestWithNameTask6";
 
-        assert task == null;
+        DeploymentResource task = getSpi().findResource(taskName);
 
-        U.copy(getGarDir(), new File(getDeployDir(), "uri1.gar"), true);
+        assert task == null;
 
-        Thread.sleep(500);
+        atomicCopy(getGarDir(), getDeployDir(), "uri1.gar");
 
-        task = getSpi().findResource("GridUriDeploymentTestWithNameTask6");
+        waitForTask(taskName, true, 10000);
 
-        assert task != null;
         assert undeployCntr.get() == 0;
 
-        U.copy(getGarDir(), new File(getDeployDir(), "uri2.gar"), true);
-
-        Thread.sleep(500);
+        atomicCopy(getGarDir(), getDeployDir(), "uri2.gar");
 
-        task = getSpi().findResource("GridUriDeploymentTestWithNameTask6");
+        waitForTask(taskName, true, 10000);
 
-        assert task != null;
         assert undeployCntr.get() == 0;
+    }
 
+    /** {@inheritDoc} */
+    protected void afterTest() throws Exception {
         U.delete(getGarDir());
         U.delete(new File(getDeployDir(), "uri1.gar"));
         U.delete(new File(getDeployDir(), "uri2.gar"));
+
+        Thread.sleep(500);
+    }
+
+    /**
+     * First copies to parent directory, when moves atomically to destination directory.
+     */
+    private static void atomicCopy(File src, File destDir, String fileName) throws IOException {
+        File destParent = new File(destDir.getParent(), fileName);
+
+        U.copy(src, destParent, true);
+
+        destParent.renameTo(new File(destDir, fileName));
     }
 
     /**
@@ -127,7 +135,7 @@ public class GridUriDeploymentMd5CheckSelfTest extends GridUriDeploymentAbstract
      * @return a valid .gar file path.
      */
     private File getGarFile() {
-        File gar = new File(GridTestProperties.getProperty("ant.urideployment.gar.file"));
+        File gar = U.resolveIgnitePath(GridTestProperties.getProperty("ant.urideployment.gar.file"));
 
         assert gar.isFile();
 
@@ -195,4 +203,4 @@ public class GridUriDeploymentMd5CheckSelfTest extends GridUriDeploymentAbstract
     @Override protected void afterTestsStopped() throws Exception {
         U.delete(getDeployDir());
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/02792e5e/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMultiScannersErrorThrottlingTest.java
----------------------------------------------------------------------
diff --git a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMultiScannersErrorThrottlingTest.java b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMultiScannersErrorThrottlingTest.java
index 552c8222..246ad80 100644
--- a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMultiScannersErrorThrottlingTest.java
+++ b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/GridUriDeploymentMultiScannersErrorThrottlingTest.java
@@ -34,8 +34,7 @@ public class GridUriDeploymentMultiScannersErrorThrottlingTest extends GridUriDe
     public void testThrottling() throws Exception {
         LT.throttleTimeout(11000);
 
-        // Sleep for 1 min.
-        Thread.sleep(60 * 1000);
+        Thread.sleep(15 * 1000);
     }
 
     /**
@@ -50,4 +49,4 @@ public class GridUriDeploymentMultiScannersErrorThrottlingTest extends GridUriDe
 
         return uriList;
     }
-}
\ No newline at end of file
+}