/* * Galaxy * Copyright (C) 2012-2014 Parallel Universe Software Co. * * This file is part of Galaxy. * * Galaxy is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * Galaxy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Galaxy. If not, see <http://www.gnu.org/licenses/>. */ package co.paralleluniverse.galaxy.nanocloud; import static co.paralleluniverse.galaxy.test.GalaxyTestingUtils.*; import java.util.concurrent.ExecutionException; import org.gridkit.nanocloud.Cloud; import org.gridkit.vicluster.telecontrol.jvm.JvmProps; import static org.junit.Assert.*; import static org.junit.Assume.*; import org.junit.Ignore; import org.junit.Test; @Ignore // doesn't work yet (nanocloud related) public class NanoCloudLocalJGTest extends BaseCloudTest { @Test public void jgroupsNoServerTest() throws InterruptedException, ExecutionException { assumeTrue(!isCI()); cloud.nodes(PEER1, PEER2); setJvmArgs(cloud); cloud.node(PEER2).submit(startWaitForLargerPeer(2, PEER_NO_SERVER_CFG)); int largerID = cloud.node(PEER1).submit(startWaitForLargerPeer(1, PEER_NO_SERVER_CFG)).get(); assertEquals("node's id larger than peer1", 2, largerID); } @Test public void jgroupsWithServerTest() throws InterruptedException, ExecutionException { assumeTrue(!isCI()); cloud.nodes(SERVER, PEER1, PEER2); setJvmArgs(cloud); cloud.node(SERVER).submit(startGlxServer(SERVER_JG_CFG, SERVER_PROPS)); Thread.sleep(10000); cloud.node(PEER2).submit(startWaitForLargerPeer(2, PEER_WITH_JG_SERVER_CFG)); int largerID = cloud.node(PEER1).submit(startWaitForLargerPeer(1, PEER_WITH_JG_SERVER_CFG)).get(); assertEquals("inode's id larger than peer1", 2, largerID); } private static void setJvmArgs(Cloud cloud) { String[] copyEnv = { "log4j.configurationFile", "jgroups.bind_addr",}; JvmProps props = JvmProps.at(cloud.node("**")).addJvmArg("-ea"); // JvmProps props = JvmProps.at(cloud.node("**")).addJvmArg("-javaagent:" + System.getProperty("co.paralleluniverse.quasarJar")); for (String string : copyEnv) props = props.addJvmArg("-D" + string + "=" + System.getProperty(string)); } public interface MulticastTests { } }