/*
* Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package org.visage.jdi.test;
import org.visage.jdi.*;
import org.visage.jdi.connect.VisageLaunchingConnector;
import org.visage.jdi.connect.VisageProcessAttachingConnector;
import org.visage.jdi.connect.VisageRawLaunchingConnector;
import org.visage.jdi.connect.VisageSharedMemoryAttachingConnector;
import org.visage.jdi.connect.VisageSharedMemoryListeningConnector;
import org.visage.jdi.connect.VisageSocketAttachingConnector;
import org.visage.jdi.connect.VisageSocketListeningConnector;
import com.sun.jdi.connect.AttachingConnector;
import com.sun.jdi.connect.LaunchingConnector;
import com.sun.jdi.connect.ListeningConnector;
import junit.framework.Assert;
import org.junit.Test;
/**
* Checks for Visage-JDI connector classes and VisageBootstrap.
*
* @author sundar
*/
public class ConnectorsTest {
@Test
public void testVisageConnectors() {
LaunchingConnector conn = VisageBootstrap.virtualMachineManager().defaultConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageLaunchingConnector", conn.name());
VisageLaunchingConnector conn1 = new VisageLaunchingConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageLaunchingConnector", conn1.name());
Assert.assertEquals(true, conn1 instanceof LaunchingConnector);
VisageProcessAttachingConnector conn2 = new VisageProcessAttachingConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageProcessAttachingConnector", conn2.name());
Assert.assertEquals(true, conn2 instanceof AttachingConnector);
VisageRawLaunchingConnector conn3 = new VisageRawLaunchingConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageRawLaunchingConnector", conn3.name());
Assert.assertEquals(true, conn3 instanceof LaunchingConnector);
VisageSocketAttachingConnector conn4 = new VisageSocketAttachingConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageSocketAttachingConnector", conn4.name());
Assert.assertEquals(true, conn4 instanceof AttachingConnector);
VisageSocketListeningConnector conn5 = new VisageSocketListeningConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageSocketListeningConnector", conn5.name());
Assert.assertEquals(true, conn5 instanceof ListeningConnector);
// Conditionally adding Visage shared mem connectors - because underlying platform shared
// memory connectors are not available on all platforms
if (VisageSharedMemoryAttachingConnector.isAvailable()) {
VisageSharedMemoryAttachingConnector conn6 = new VisageSharedMemoryAttachingConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageSharedMemoryAttachingConnector", conn6.name());
Assert.assertEquals(true, conn6 instanceof AttachingConnector);
}
if (VisageSharedMemoryListeningConnector.isAvailable()) {
VisageSharedMemoryListeningConnector conn7 = new VisageSharedMemoryListeningConnector();
Assert.assertEquals("org.visage.jdi.connect.VisageSharedMemoryListeningConnector", conn7.name());
Assert.assertEquals(true, conn7 instanceof ListeningConnector);
}
}
}