Add some more model test cases for LTTng 2.0 control
authorBernd Hufmann <bhufmann@gmail.com>
Wed, 21 Mar 2012 20:04:49 +0000 (16:04 -0400)
committerBernd Hufmann <bhufmann@gmail.com>
Wed, 21 Mar 2012 20:04:49 +0000 (16:04 -0400)
18 files changed:
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/AllTests.java
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelProviderTests.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelSessionTests.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlPropertiesTest.java
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlProviderTests.java [deleted file]
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlTestFacility.java
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlTreeModelTest.java
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstProviderTests.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstSessionTests.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateChannelDialogStub.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateSessionDialogStub.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/DestroyConfirmDialogStub.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/EnableEventsDialogStub.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/GetEventInfoDialogStub.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng2.ui.tests/testfiles/CreateTreeTest.cfg
org.eclipse.linuxtools.lttng2.ui/plugin.properties
org.eclipse.linuxtools.lttng2.ui/plugin.xml
org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/handlers/DisconnectHandler.java

index 4de04d23c703adc7e18c34a587f5c29a5f1e8c79..b40bafbb1e127aebf40c8f04d43f86ec0b89b35d 100644 (file)
@@ -22,7 +22,10 @@ public class AllTests {
         //$JUnit-BEGIN$
         suite.addTestSuite(TraceControlComponentTest.class);
         suite.addTestSuite(TraceControlTreeModelTest.class);
-        suite.addTestSuite(TraceControlProviderTests.class);
+        suite.addTestSuite(TraceControlKernelProviderTests.class);
+        suite.addTestSuite(TraceControlUstProviderTests.class);
+        suite.addTestSuite(TraceControlKernelSessionTests.class);
+        suite.addTestSuite(TraceControlUstSessionTests.class);
         suite.addTestSuite(TraceControlPropertiesTest.class);
         //$JUnit-END$
         return new ModelImplTestSetup(suite);
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelProviderTests.java b/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelProviderTests.java
new file mode 100644 (file)
index 0000000..cc6c3b9
--- /dev/null
@@ -0,0 +1,265 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
+
+import java.io.File;
+import java.net.URL;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateSessionDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.DestroyConfirmDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.GetEventInfoDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.TraceControlDialogFactory;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.KernelProviderComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.linuxtools.lttng2.ui.tests.Activator;
+import org.eclipse.rse.core.model.Host;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.internal.core.model.SystemProfile;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * The class <code>TraceControlKernelProviderTests</code> contains UST provider handling
+ * test cases.
+ */
+@SuppressWarnings("nls")
+public class TraceControlKernelProviderTests extends TestCase {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    private static final String TEST_STREAM = "CreateTreeTest.cfg";
+    private static final String SCEN_SCENARIO1_TEST = "Scenario1";
+
+    // ------------------------------------------------------------------------
+    // Test data
+    // ------------------------------------------------------------------------
+    private TraceControlTestFacility fFacility;
+    private TestRemoteSystemProxy fProxy;
+    private String fTestFile; 
+    
+    // ------------------------------------------------------------------------
+    // Static methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns test setup used when executing test case stand-alone.
+     * @return Test setup class 
+     */
+    public static Test suite() {
+        return new ModelImplTestSetup(new TestSuite(TraceControlKernelProviderTests.class));
+    }
+
+    // ------------------------------------------------------------------------
+    // Housekeeping
+    // ------------------------------------------------------------------------
+
+    /**
+     * Perform pre-test initialization.
+     *
+     * @throws Exception
+     *         if the initialization fails for some reason
+     *
+     */
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        fFacility = TraceControlTestFacility.getInstance();
+        fProxy = new TestRemoteSystemProxy();
+        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
+        File testfile = new File(FileLocator.toFileURL(location).toURI());
+        fTestFile = testfile.getAbsolutePath();
+    }
+
+    /**
+     * Perform post-test clean-up.
+     *
+     * @throws Exception
+     *         if the clean-up fails for some reason
+     *
+     */
+    @Override
+    @After
+    public void tearDown() throws Exception {
+    }
+    
+    /**
+     * Run the TraceControlComponent.
+     */
+    public void testKernelProviderTree() throws Exception {
+        
+        fProxy.setTestFile(fTestFile);
+        fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
+        
+        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
+
+        @SuppressWarnings("restriction")
+        IHost host = new Host(new SystemProfile("myProfile", true));
+        host.setHostName("127.0.0.1");
+
+        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
+
+        root.addChild(node);
+        node.connect();
+
+        fFacility.waitForJobs();
+
+        // Verify that node is connected
+        assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
+
+        // Get provider groups
+        ITraceControlComponent[] groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+
+        // Get kernel provider
+        ITraceControlComponent[] providers = groups[0].getChildren();
+        KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
+
+        // Get kernel provider events and select 2 events 
+        ITraceControlComponent[] events = kernelProvider.getChildren();
+        assertNotNull(events);
+        assertEquals(3, events.length);
+
+        BaseEventComponent baseEventInfo0 = (BaseEventComponent) events[0];
+        BaseEventComponent baseEventInfo1  = (BaseEventComponent) events[1];
+
+        // Initialize dialog implementations for command execution
+        TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
+        TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
+        TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
+
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+        // ------------------------------------------------------------------------
+        // Create session
+        // ------------------------------------------------------------------------
+        TraceSessionComponent session = fFacility.createSession(groups[1]);
+        
+        // Verify that session was created
+        assertNotNull(session);
+        assertEquals("mysession", session.getName());
+        assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
+        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
+
+        // ------------------------------------------------------------------------
+        // Enable event on default channel on created session above
+        // ------------------------------------------------------------------------
+        // Initialize scenario
+        fProxy.setScenario(SCEN_SCENARIO1_TEST);
+
+        ITraceControlComponent[] components =  { baseEventInfo0, baseEventInfo1 };
+
+        fFacility.executeCommand(components, "assign.event");
+        
+        // Verify that kernel domain was created
+        ITraceControlComponent[] domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        assertEquals("Kernel", domains[0].getName());
+        
+        // Verify that channel0 was created with default values
+        ITraceControlComponent[] channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(1, channels.length);
+
+        assertTrue(channels[0] instanceof TraceChannelComponent);
+        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
+        assertEquals("channel0", channel.getName());
+        assertEquals(4, channel.getNumberOfSubBuffers());
+        assertEquals("splice()", channel.getOutputType());
+        assertEquals(false, channel.isOverwriteMode());
+        assertEquals(200, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(262144, channel.getSubBufferSize());
+        assertEquals(0, channel.getSwitchTimer());
+
+        // Verify that event components were created
+        ITraceControlComponent[] channel0Events = channel.getChildren();
+        assertNotNull(channel0Events);
+        assertEquals(2, channel0Events.length);
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        assertTrue(channel0Events[1] instanceof TraceEventComponent);
+
+        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
+        assertEquals("sched_kthread_stop_ret", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        TraceEventComponent event1 = (TraceEventComponent) channel0Events[1];
+        assertEquals("sched_kthread_stop", event1.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event1.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event1.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event1.getState());
+
+        // ------------------------------------------------------------------------
+        // Disable event components 
+        // ------------------------------------------------------------------------
+        ITraceControlComponent[] selection = { event, event1 };
+        fFacility.executeCommand(selection, "disableEvent");
+        
+        assertEquals(TraceEnablement.DISABLED, event.getState());
+        assertEquals(TraceEnablement.DISABLED, event1.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event component 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(event1, "enableEvent");
+        
+        // Verify event state
+        assertEquals(TraceEnablement.ENABLED, event1.getState());
+        
+        // ------------------------------------------------------------------------
+        // Destroy session 
+        // ------------------------------------------------------------------------
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+        
+        fFacility.destroySession(session);
+        
+        // Verify that no more session components exist
+        assertEquals(0, groups[1].getChildren().length);
+
+        //-------------------------------------------------------------------------
+        // Disconnect node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "disconnect");
+        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
+        
+        //-------------------------------------------------------------------------
+        // Delete node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "delete");
+        assertEquals(0, fFacility.getControlView().getTraceControlRoot().getChildren().length);
+
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelSessionTests.java b/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlKernelSessionTests.java
new file mode 100644 (file)
index 0000000..92ac65a
--- /dev/null
@@ -0,0 +1,740 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateChannelDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateSessionDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.DestroyConfirmDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.EnableEventsDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.GetEventInfoDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.TraceControlDialogFactory;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.ChannelInfo;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceProbeEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.linuxtools.lttng2.ui.tests.Activator;
+import org.eclipse.rse.core.model.Host;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.internal.core.model.SystemProfile;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * The class <code>TraceControlKernelSessionTests</code> contains UST session/channel/event
+ * handling test cases.
+ */
+
+@SuppressWarnings("nls")
+public class TraceControlKernelSessionTests extends TestCase {
+    
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    private static final String TEST_STREAM = "CreateTreeTest.cfg";
+    private static final String SCEN_SCENARIO3_TEST = "Scenario3";
+
+    // ------------------------------------------------------------------------
+    // Test data
+    // ------------------------------------------------------------------------
+    private TraceControlTestFacility fFacility;
+    private TestRemoteSystemProxy fProxy;
+    private String fTestFile; 
+    
+    // ------------------------------------------------------------------------
+    // Static methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns test setup used when executing test case stand-alone.
+     * @return Test setup class 
+     */
+    public static Test suite() {
+        return new ModelImplTestSetup(new TestSuite(TraceControlKernelSessionTests.class));
+    }
+
+    // ------------------------------------------------------------------------
+    // Housekeeping
+    // ------------------------------------------------------------------------
+
+    /**
+     * Perform pre-test initialization.
+     *
+     * @throws Exception
+     *         if the initialization fails for some reason
+     *
+     */
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        fFacility = TraceControlTestFacility.getInstance();
+        fProxy = new TestRemoteSystemProxy();
+        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
+        File testfile = new File(FileLocator.toFileURL(location).toURI());
+        fTestFile = testfile.getAbsolutePath();
+    }
+
+    /**
+     * Perform post-test clean-up.
+     *
+     * @throws Exception
+     *         if the clean-up fails for some reason
+     *
+     */
+    @Override
+    @After
+    public void tearDown()  throws Exception {
+    }
+    
+    /**
+     * Run the TraceControlComponent.
+     */
+    public void testTraceSessionTree() throws Exception {
+        
+        fProxy.setTestFile(fTestFile);
+        fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
+        
+        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
+
+        @SuppressWarnings("restriction")
+        IHost host = new Host(new SystemProfile("myProfile", true));
+        host.setHostName("127.0.0.1");
+
+        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
+
+        root.addChild(node);
+        node.connect();
+
+        fFacility.waitForJobs();
+
+        // Verify that node is connected
+        assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
+
+        // Get provider groups
+        ITraceControlComponent[] groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+
+        // Initialize dialog implementations for command execution
+        TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
+        TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
+        TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
+        
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+        // ------------------------------------------------------------------------
+        // Create session
+        // ------------------------------------------------------------------------
+        TraceSessionComponent session = fFacility.createSession(groups[1]);
+        
+        // Verify that session was created
+        assertNotNull(session);
+        assertEquals("mysession", session.getName());
+        assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
+        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
+
+        // Initialize scenario
+        fProxy.setScenario(SCEN_SCENARIO3_TEST);
+        
+        // ------------------------------------------------------------------------
+        // Create channel on session
+        // ------------------------------------------------------------------------
+        CreateChannelDialogStub channelStub = new CreateChannelDialogStub();
+        channelStub.setIsKernel(true);
+        TraceControlDialogFactory.getInstance().setCreateChannelDialog(channelStub);
+
+        fFacility.executeCommand(session, "createChannelOnSession");
+        
+        // Verify that Kernel domain was created
+        ITraceControlComponent[] domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        assertEquals("Kernel", domains[0].getName());
+        
+        // Verify that channel was created with correct data
+        ITraceControlComponent[] channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(1, channels.length);
+
+        assertTrue(channels[0] instanceof TraceChannelComponent);
+        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
+        assertEquals("mychannel", channel.getName());
+        assertEquals(4, channel.getNumberOfSubBuffers());
+        assertEquals("splice()", channel.getOutputType());
+        assertEquals(true, channel.isOverwriteMode());
+        assertEquals(200, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(16384, channel.getSubBufferSize());
+        assertEquals(100, channel.getSwitchTimer());
+
+        // ------------------------------------------------------------------------
+        // Create channel on domain
+        // ------------------------------------------------------------------------
+        ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
+        info.setName("mychannel2");
+        info.setOverwriteMode(false);
+        info.setSubBufferSize(32768);
+        info.setNumberOfSubBuffers(2);
+        info.setSwitchTimer(100);
+        info.setReadTimer(200);
+        channelStub.setChannelInfo(info);
+        
+        fFacility.executeCommand(domains[0], "createChannelOnDomain");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(2, channels.length);
+
+        assertTrue(channels[1] instanceof TraceChannelComponent);
+        channel = (TraceChannelComponent) channels[1]; 
+        assertEquals("mychannel2", channel.getName());
+        assertEquals(2, channel.getNumberOfSubBuffers());
+        assertEquals("splice()", channel.getOutputType());
+        assertEquals(false, channel.isOverwriteMode());
+        assertEquals(200, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(32768, channel.getSubBufferSize());
+        assertEquals(100, channel.getSwitchTimer());
+
+        EnableEventsDialogStub eventsDialogStub = new EnableEventsDialogStub();
+        eventsDialogStub.setIsTracePoints(true);
+        List<String> events = new ArrayList<String>();
+        events.add("sched_kthread_stop");
+        events.add("sched_kthread_stop_ret");
+        eventsDialogStub.setNames(events);
+        eventsDialogStub.setIsKernel(true);
+        TraceControlDialogFactory.getInstance().setEnableEventsDialog(eventsDialogStub);
+        
+        // ------------------------------------------------------------------------
+        // disable channels 
+        // ------------------------------------------------------------------------
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(2, channels.length);
+
+        fFacility.executeCommand(channels, "disableChannel");
+        
+        assertEquals(TraceEnablement.DISABLED, ((TraceChannelComponent)channels[0]).getState());
+        assertEquals(TraceEnablement.DISABLED, ((TraceChannelComponent)channels[1]).getState());
+
+        // ------------------------------------------------------------------------
+        // enable channels 
+        // ------------------------------------------------------------------------
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(2, channels.length);
+        
+        fFacility.executeCommand(channels, "enableChannel");
+        
+        assertEquals(TraceEnablement.ENABLED, ((TraceChannelComponent)channels[0]).getState());
+        assertEquals(TraceEnablement.ENABLED, ((TraceChannelComponent)channels[1]).getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (tracepoints) on session 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(session, "enableEventOnSession");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(3, channels.length);
+
+        assertTrue(channels[2] instanceof TraceChannelComponent);
+        channel = (TraceChannelComponent) channels[2]; 
+        assertEquals("channel0", channel.getName());
+        // No need to check parameters of default channel because that has been done in other tests
+
+        ITraceControlComponent[] channel0Events = channel.getChildren();
+        assertEquals(2, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        assertTrue(channel0Events[1] instanceof TraceEventComponent);
+
+        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
+        assertEquals("sched_kthread_stop_ret", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        event = (TraceEventComponent) channel0Events[1];
+        assertEquals("sched_kthread_stop", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (tracepoints) on domain 
+        // ------------------------------------------------------------------------
+        events.clear();
+        events.add("sched_wakeup_new");
+        eventsDialogStub.setNames(events);
+
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel = (TraceChannelComponent) channels[2];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(3, channel0Events.length);
+        
+        assertTrue(channel0Events[2] instanceof TraceEventComponent);
+
+        event = (TraceEventComponent) channel0Events[2];
+        assertEquals("sched_wakeup_new", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (tracepoints) on channel 
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setNames(events);
+        eventsDialogStub.setIsAllTracePoints(true);
+
+        fFacility.executeCommand(channels[1], "enableEventOnChannel");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        // No need to check parameters of default channel because that has been done in other tests
+        channel = (TraceChannelComponent) channels[1];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(3, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        assertTrue(channel0Events[1] instanceof TraceEventComponent);
+        assertTrue(channel0Events[2] instanceof TraceEventComponent);
+
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("sched_kthread_stop_ret", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        event = (TraceEventComponent) channel0Events[1];
+        assertEquals("sched_kthread_stop", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+        
+        event = (TraceEventComponent) channel0Events[2];
+        assertEquals("sched_wakeup_new", event.getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (syscall) on channel 
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsTracePoints(false);        
+        eventsDialogStub.setIsAllTracePoints(false);
+        eventsDialogStub.setIsSysCalls(true);
+
+        fFacility.executeCommand(channels[0], "enableEventOnChannel");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel = (TraceChannelComponent) channels[0];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(1, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("syscalls", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.SYSCALL, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (syscall) on domain 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel = (TraceChannelComponent) channels[2];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(4, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("syscalls", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.SYSCALL, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // enable event (syscall) on session 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(session, "enableEventOnSession");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel = (TraceChannelComponent) channels[2];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(4, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("syscalls", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.SYSCALL, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        
+        // ------------------------------------------------------------------------
+        // enable event (dynamic probe) on domain 
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsSysCalls(false);
+        eventsDialogStub.setIsDynamicProbe(true);
+        eventsDialogStub.setDynamicProbe("0xc0101280");
+        eventsDialogStub.setProbeEventName("myevent1");
+        
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(5, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+        
+        TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent1", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertNull(probeEvent.getOffset());
+        assertEquals("0xc0101280", probeEvent.getAddress());
+        assertNull(probeEvent.getSymbol());
+
+        // ------------------------------------------------------------------------
+        // enable event (dynamic probe) on channel 
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setIsDynamicProbe(true);
+        eventsDialogStub.setDynamicProbe("init_post");
+        eventsDialogStub.setProbeEventName("myevent2");
+
+        fFacility.executeCommand(channels[2], "enableEventOnChannel");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(6, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+        
+        probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent2", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertEquals("0x0", probeEvent.getOffset());
+        assertNull(null, probeEvent.getAddress());
+        assertEquals("init_post", probeEvent.getSymbol());
+
+        // ------------------------------------------------------------------------
+        // enable event (dynamic probe) on session 
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setIsDynamicProbe(true);
+        eventsDialogStub.setDynamicProbe("init_post:0x1000");
+        eventsDialogStub.setProbeEventName("myevent3");
+
+        fFacility.executeCommand(session, "enableEventOnSession");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(7, channel0Events.length);
+
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+
+        probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent3", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertEquals("0x1000", probeEvent.getOffset());
+        assertNull(null, probeEvent.getAddress());
+        assertEquals("init_post", probeEvent.getSymbol());
+        
+        // ------------------------------------------------------------------------
+        // enable event (dynamic function probe) on session
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setIsDynamicProbe(false);
+        eventsDialogStub.setDynamicProbe(null);
+        eventsDialogStub.setProbeEventName(null);
+        eventsDialogStub.setIsFunctionProbe(true);
+        eventsDialogStub.setFunctionEventName("myevent4");
+        eventsDialogStub.setFunctionProbe("create_dev");
+
+        fFacility.executeCommand(session, "enableEventOnSession");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(8, channel0Events.length);
+
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+
+        probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent4", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertEquals("0x0", probeEvent.getOffset());
+        assertNull(null, probeEvent.getAddress());
+        assertEquals("create_dev", probeEvent.getSymbol());
+  
+        // ------------------------------------------------------------------------
+        // enable event (dynamic function probe) on domain
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setIsFunctionProbe(true);
+        eventsDialogStub.setFunctionEventName("myevent5");
+        eventsDialogStub.setFunctionProbe("create_dev:0x2000");
+
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(9, channel0Events.length);
+
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+
+        probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent5", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertEquals("0x2000", probeEvent.getOffset());
+        assertNull(null, probeEvent.getAddress());
+        assertEquals("create_dev", probeEvent.getSymbol());
+
+        // ------------------------------------------------------------------------
+        // enable event (dynamic function probe) on channel
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setIsFunctionProbe(true);
+        eventsDialogStub.setFunctionEventName("myevent");
+        eventsDialogStub.setFunctionProbe("create_dev:0x2000");
+
+        fFacility.executeCommand(channels[0], "enableEventOnChannel");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(2, channel0Events.length);
+
+        assertTrue(channel0Events[0] instanceof TraceProbeEventComponent);
+
+        probeEvent = (TraceProbeEventComponent) channel0Events[0];
+        assertEquals("myevent", probeEvent.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
+        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
+        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
+        assertEquals("0x2000", probeEvent.getOffset());
+        assertNull(null, probeEvent.getAddress());
+        assertEquals("create_dev", probeEvent.getSymbol());
+        
+        // ------------------------------------------------------------------------
+        // refresh 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(node, "refresh");
+        groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+        assertEquals(3, groups[0].getChildren().length); // provider
+        assertEquals(1, groups[1].getChildren().length); // sessions
+        assertEquals(1, groups[1].getChildren()[0].getChildren().length); // domains
+        assertEquals(3, groups[1].getChildren()[0].getChildren()[0].getChildren().length); // channels
+        assertEquals(2, groups[1].getChildren()[0].getChildren()[0].getChildren()[0].getChildren().length); // events (of channel[0])
+        
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+        
+        session = (TraceSessionComponent)groups[1].getChildren()[0];
+        
+        // ------------------------------------------------------------------------
+        // start session 
+        // ------------------------------------------------------------------------
+        fFacility.startSession(session);
+        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
+        
+        // ------------------------------------------------------------------------
+        // stop session 
+        // ------------------------------------------------------------------------
+        fFacility.stopSession(session);
+        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
+        
+        // ------------------------------------------------------------------------
+        // Destroy session 
+        // ------------------------------------------------------------------------
+
+        fFacility.destroySession(session);
+        
+        // Verify that no more session components exist
+        assertEquals(0, groups[1].getChildren().length);
+
+        //-------------------------------------------------------------------------
+        // Disconnect node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "disconnect");
+        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
+       
+        //-------------------------------------------------------------------------
+        // Delete node
+        //-------------------------------------------------------------------------
+         
+        fFacility.executeCommand(node, "delete");
+        assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
+    }
+    
+}
\ No newline at end of file
index 23e4a18a5535d5a7ed19e09d6a10379f8b0fcced..2771df2c2781a51d3dc98e4b8051725134b7f5bc 100644 (file)
@@ -111,14 +111,13 @@ public class TraceControlPropertiesTest extends TestCase {
      */
     @Override
     @After
-    public void tearDown()  throws Exception {
+    public void tearDown() throws Exception {
     }
     
     /**
      * Run the TraceControlComponent.
      */
-    public void testTraceControlComponents()
-        throws Exception {
+    public void testComponentProperties() throws Exception {
         
         TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
 
@@ -343,5 +342,10 @@ public class TraceControlPropertiesTest extends TestCase {
         assertEquals("0x0", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID));
         assertEquals("init_post", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID));
         
+        //-------------------------------------------------------------------------
+        // Delete node
+        //-------------------------------------------------------------------------
+        node.disconnect();
+        node.getParent().removeChild(node);
     }
 }
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlProviderTests.java b/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlProviderTests.java
deleted file mode 100644 (file)
index d9f5012..0000000
+++ /dev/null
@@ -1,948 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2012 Ericsson
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- *   Bernd Hufmann - Initial API and implementation
- **********************************************************************/
-package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IConfirmDialog;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.ICreateChannelDialog;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.ICreateSessionDialog;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IGetEventInfoDialog;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TargetNodeState;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEnablement;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceSessionState;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.ChannelInfo;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.KernelProviderComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceDomainComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionGroup;
-import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.UstProviderComponent;
-import org.eclipse.linuxtools.lttng2.ui.tests.Activator;
-import org.eclipse.rse.core.model.Host;
-import org.eclipse.rse.core.model.IHost;
-import org.eclipse.rse.internal.core.model.SystemProfile;
-import org.eclipse.swt.widgets.Shell;
-import org.junit.After;
-import org.junit.Before;
-
-/**
- * The class <code>TraceControlTreeModelTest</code> contains tests for the tree component classes.
- */
-@SuppressWarnings("nls")
-public class TraceControlProviderTests extends TestCase {
-    
-    private static final String DIRECTORY   = "testfiles";
-    private static final String TEST_STREAM = "CreateTreeTest.cfg";
-    private static final String SCEN_INIT_TEST = "Initialize";
-    private static final String SCEN_SCENARIO1_TEST = "Scenario1";
-    private static final String SCEN_SCENARIO2_TEST = "Scenario2";
-
-    // ------------------------------------------------------------------------
-    // Test data
-    // ------------------------------------------------------------------------
-    private TraceControlTestFacility fFacility;
-    private TestRemoteSystemProxy fProxy;
-    private String fTestFile; 
-    
-    // ------------------------------------------------------------------------
-    // Static methods
-    // ------------------------------------------------------------------------
-
-    /**
-     * Returns test setup used when executing test case stand-alone.
-     * @return Test setup class 
-     */
-    public static Test suite() {
-        return new ModelImplTestSetup(new TestSuite(TraceControlProviderTests.class));
-    }
-
-    // ------------------------------------------------------------------------
-    // Housekeeping
-    // ------------------------------------------------------------------------
-
-    /**
-     * Perform pre-test initialization.
-     *
-     * @throws Exception
-     *         if the initialization fails for some reason
-     *
-     */
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        fFacility = TraceControlTestFacility.getInstance();
-        fProxy = new TestRemoteSystemProxy();
-        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(DIRECTORY + File.separator + TEST_STREAM), null);
-        File testfile = new File(FileLocator.toFileURL(location).toURI());
-        fTestFile = testfile.getAbsolutePath();
-    }
-
-    /**
-     * Perform post-test clean-up.
-     *
-     * @throws Exception
-     *         if the clean-up fails for some reason
-     *
-     */
-    @Override
-    @After
-    public void tearDown()  throws Exception {
-    }
-    
-    /**
-     * Run the TraceControlComponent.
-     */
-    public void testTraceControlComponents()
-        throws Exception {
-        
-        fProxy.setTestFile(fTestFile);
-        fProxy.setScenario(SCEN_INIT_TEST);
-        
-        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
-
-        @SuppressWarnings("restriction")
-        IHost host = new Host(new SystemProfile("myProfile", true));
-        host.setHostName("127.0.0.1");
-
-        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
-
-        root.addChild(node);
-        node.connect();
-
-        fFacility.waitForJobs();
-
-        // Verify that node is connected
-        assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
-
-        // Get provider groups
-        ITraceControlComponent[] groups = node.getChildren();
-        assertNotNull(groups);
-        assertEquals(2, groups.length);
-
-        // Get kernel provider
-        ITraceControlComponent[] providers = groups[0].getChildren();
-        KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
-
-        // Get kernel provider events and select 2 events 
-        ITraceControlComponent[] events = kernelProvider.getChildren();
-        assertNotNull(events);
-        assertEquals(3, events.length);
-
-        BaseEventComponent baseEventInfo0 = (BaseEventComponent) events[0];
-        BaseEventComponent baseEventInfo1  = (BaseEventComponent) events[1];
-
-        // Initialize dialog implementations for command execution
-        TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
-        TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
-        TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
-
-        // Initialize scenario
-        fProxy.setScenario(SCEN_SCENARIO1_TEST);
-        // ------------------------------------------------------------------------
-        // Create session
-        // ------------------------------------------------------------------------
-        TraceSessionComponent session = createSession(groups[1]);
-        
-        // Verify that session was created
-        assertNotNull(session);
-        assertEquals("mysession", session.getName());
-        assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
-        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-
-        // ------------------------------------------------------------------------
-        // Enable event on default channel on created session above
-        // ------------------------------------------------------------------------
-        ITraceControlComponent[] components =  { baseEventInfo0, baseEventInfo1 };
-
-        fFacility.getControlView().setSelection(components);
-        // Give GUI time to actually execute refresh
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        
-        fFacility.executeCommand("assign.event");
-        fFacility.waitForJobs();
-        
-        // Verify that kernel domain was created
-        ITraceControlComponent[] domains = session.getChildren();
-        assertNotNull(domains);
-        assertEquals(1, domains.length);
-
-        assertEquals("Kernel", domains[0].getName());
-        
-        // Verify that channel0 was created with default values
-        ITraceControlComponent[] channels =  domains[0].getChildren();
-        assertNotNull(channels);
-        assertEquals(1, channels.length);
-
-        assertTrue(channels[0] instanceof TraceChannelComponent);
-        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
-        assertEquals("channel0", channel.getName());
-        assertEquals(4, channel.getNumberOfSubBuffers());
-        assertEquals("splice()", channel.getOutputType());
-        assertEquals(false, channel.isOverwriteMode());
-        assertEquals(200, channel.getReadTimer());
-        assertEquals(TraceEnablement.ENABLED, channel.getState());
-        assertEquals(262144, channel.getSubBufferSize());
-        assertEquals(0, channel.getSwitchTimer());
-
-        // Verify that event components were created
-        ITraceControlComponent[] channel0Events = channel.getChildren();
-        assertNotNull(channel0Events);
-        assertEquals(2, channel0Events.length);
-        assertTrue(channel0Events[0] instanceof TraceEventComponent);
-        assertTrue(channel0Events[1] instanceof TraceEventComponent);
-
-        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
-        assertEquals("sched_kthread_stop_ret", event.getName());
-        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-        assertEquals(TraceEnablement.ENABLED, event.getState());
-
-        TraceEventComponent event1 = (TraceEventComponent) channel0Events[1];
-        assertEquals("sched_kthread_stop", event1.getName());
-        assertEquals(TraceLogLevel.TRACE_EMERG, event1.getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, event1.getEventType());
-        assertEquals(TraceEnablement.ENABLED, event1.getState());
-
-        // ------------------------------------------------------------------------
-        // Disable event components 
-        // ------------------------------------------------------------------------
-        ITraceControlComponent[] selection = { event, event1 };
-        fFacility.getControlView().setSelection(selection);
-        // Give GUI time to actually execute the selection
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        fFacility.executeCommand("disable.event");
-        fFacility.waitForJobs();
-        
-        assertEquals(TraceEnablement.DISABLED, event.getState());
-        assertEquals(TraceEnablement.DISABLED, event1.getState());
-
-        // ------------------------------------------------------------------------
-        // Enable event component 
-        // ------------------------------------------------------------------------
-        fFacility.getControlView().setSelection(event1);
-        fFacility.executeCommand("enable.event");
-        fFacility.waitForJobs();
-        
-        // Verify event state
-        assertEquals(TraceEnablement.ENABLED, event1.getState());
-        
-        // ------------------------------------------------------------------------
-        // Destroy session 
-        // ------------------------------------------------------------------------
-        destroySession(session);
-        
-        // Verify that no more session components exist
-        assertEquals(0, groups[1].getChildren().length);
-        
-
-        // ------------------------------------------------------------------------
-        // Create session
-        // ------------------------------------------------------------------------
-        fProxy.setScenario(SCEN_SCENARIO2_TEST);
-        
-        CreateSessionDialogStub sessionDialogStub = new CreateSessionDialogStub();
-        sessionDialogStub.setSessionPath("/home/user/temp");
-        TraceControlDialogFactory.getInstance().setCreateSessionDialog(sessionDialogStub);
-
-        session = createSession(groups[1]);
-        
-        // Verify that session was created
-        assertNotNull(session);
-        assertEquals("mysession", session.getName());
-        assertEquals("/home/user/temp", session.getSessionPath());
-        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-        
-        // ------------------------------------------------------------------------
-        // Create Channel on UST global domain
-        // ------------------------------------------------------------------------
-        TraceControlDialogFactory.getInstance().setCreateChannelDialog(new CreateChannelDialogStub());
-
-        fFacility.getControlView().setSelection(session);
-        // Give GUI time to actually execute refresh
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-
-        fFacility.executeCommand("createChannelOnSession");
-        fFacility.waitForJobs();
-        
-        // Verify that UST domain was created
-        domains = session.getChildren();
-        assertNotNull(domains);
-        assertEquals(1, domains.length);
-
-        assertEquals("UST global", domains[0].getName());
-        
-        // Verify that channel was created with correct data
-        channels =  domains[0].getChildren();
-        assertNotNull(channels);
-        assertEquals(1, channels.length);
-
-        assertTrue(channels[0] instanceof TraceChannelComponent);
-        channel = (TraceChannelComponent) channels[0]; 
-        assertEquals("mychannel", channel.getName());
-        assertEquals(2, channel.getNumberOfSubBuffers());
-        assertEquals("mmap()", channel.getOutputType());
-        assertEquals(false, channel.isOverwriteMode());
-        assertEquals(100, channel.getReadTimer());
-        assertEquals(TraceEnablement.ENABLED, channel.getState());
-        assertEquals(16384, channel.getSubBufferSize());
-        assertEquals(200, channel.getSwitchTimer());
-
-        // ------------------------------------------------------------------------
-        // Enable event on default channel on created session above
-        // ------------------------------------------------------------------------
-        // Get first UST provider
-        UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
-        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", ustProvider.getName());
-        assertEquals(9379, ustProvider.getPid());
-
-        // Get events
-        events = ustProvider.getChildren();
-        assertNotNull(events);
-        assertEquals(2, events.length);
-
-        baseEventInfo0 = (BaseEventComponent) events[0];
-        baseEventInfo1 = (BaseEventComponent) events[1];
-
-        ITraceControlComponent[] ustSelection =  { baseEventInfo0, baseEventInfo1 };
-
-        fFacility.getControlView().setSelection(ustSelection);
-        // Give GUI time to actually execute refresh
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        fFacility.executeCommand("assign.event");
-        fFacility.waitForJobs();
-
-        // verify that events were created under the channel
-        // Note that domain and channel has to be re-read because the tree is re-created
-
-        domains = session.getChildren();
-
-        // Verify that channel was created with correct data
-        channels =  domains[0].getChildren();
-
-        ITraceControlComponent[] ustEvents = channels[0].getChildren();
-        assertEquals(2, ustEvents.length);
-
-        event = (TraceEventComponent) ustEvents[0];
-        assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
-        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-        assertEquals(TraceEnablement.ENABLED, event.getState());
-
-        event = (TraceEventComponent) ustEvents[1];
-        assertEquals("ust_tests_hello:tptest", ustEvents[1].getName());
-        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-        assertEquals(TraceEnablement.ENABLED, event.getState());
-
-        // ------------------------------------------------------------------------
-        // Disable event components 
-        // ------------------------------------------------------------------------
-        fFacility.getControlView().setSelection(event);
-        // Give GUI time to actually execute the selection
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        fFacility.executeCommand("disable.event");
-        fFacility.waitForJobs();
-        
-        assertEquals(TraceEnablement.DISABLED, event.getState());
-
-        // ------------------------------------------------------------------------
-        // Enable event component 
-        // ------------------------------------------------------------------------
-        fFacility.getControlView().setSelection(event);
-        fFacility.executeCommand("enable.event");
-        fFacility.waitForJobs();
-        
-        // Verify event state
-        assertEquals(TraceEnablement.ENABLED, event.getState());
-        
-        // ------------------------------------------------------------------------
-        // Destroy session 
-        // ------------------------------------------------------------------------
-        destroySession(session);
-        
-        // Verify that no more session components exist
-        assertEquals(0, groups[1].getChildren().length);
-
-        
-//        fFacility.delay(60000);
-    }
-
-    private TraceSessionComponent createSession(ITraceControlComponent group) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-        fFacility.getControlView().setSelection(group);
-        // Give GUI time to actually execute the selection
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        fFacility.executeCommand("createSession");
-        fFacility.waitForJobs();
-        
-        ITraceControlComponent[] sessions = group.getChildren();
-        if ((sessions == null) || (sessions.length == 0)) {
-            return null;
-        }
-        return (TraceSessionComponent)sessions[0];
-    }
-
-    private void destroySession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-        fFacility.getControlView().setSelection(session);
-        // Give GUI time to actually execute the selection
-        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
-        fFacility.executeCommand("destroySession");
-        fFacility.waitForJobs();
-    }      
-        
-//        assertEquals("sched_kthread_stop_ret", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//
-//        baseEventInfo = (BaseEventComponent) events[2];
-//        assertEquals("sched_wakeup_new", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify UstProviderComponent
-//        // ------------------------------------------------------------------------
-//        UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
-//        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", ustProvider.getName());
-//        assertEquals(9379, ustProvider.getPid());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (UST provider)
-//        // ------------------------------------------------------------------------
-//        events = ustProvider.getChildren();
-//        assertNotNull(events);
-//        assertEquals(2, events.length);
-//
-//        baseEventInfo = (BaseEventComponent) events[0];
-//        assertNotNull(baseEventInfo);
-//        assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//
-//        baseEventInfo = (BaseEventComponent) events[1];
-//        assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_INFO, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify UstProviderComponent
-//        // ------------------------------------------------------------------------
-//        ustProvider = (UstProviderComponent) providers[2];
-//        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", ustProvider.getName());
-//        assertEquals(4852, ustProvider.getPid());
-//        
-//        // verify getters and setter
-//        verifyUstProviderGettersSetters(ustProvider);
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (UST provider)
-//        // ------------------------------------------------------------------------
-//        events = ustProvider.getChildren();
-//        assertNotNull(events);
-//        assertEquals(2, events.length);
-//
-//        baseEventInfo = (BaseEventComponent) events[0];
-//        assertNotNull(baseEventInfo);
-//        assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_WARNING, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//
-//        baseEventInfo = (BaseEventComponent) events[1];
-//        assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
-//        assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, baseEventInfo.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
-//        
-//        // verify getters and setters
-//        verifyBaseEventGettersSetters(baseEventInfo);
-//        
-//        // ------------------------------------------------------------------------
-//        // Verify TraceSessionGroup
-//        // ------------------------------------------------------------------------
-//        ITraceControlComponent[] sessions = groups[1].getChildren();
-//        assertNotNull(sessions);
-//        assertEquals(2, sessions.length);
-//        for (int i = 0; i < sessions.length; i++) {
-//            assertTrue(sessions[i] instanceof TraceSessionComponent);
-//        }
-//        assertEquals("mysession1", sessions[0].getName());
-//        assertEquals("mysession", sessions[1].getName());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify TraceSessionComponent
-//        // ------------------------------------------------------------------------
-//        TraceSessionComponent session = (TraceSessionComponent)sessions[1];
-//        assertEquals("mysession", session.getName());
-//        assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
-//        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-//
-//        // Verify setters and setters
-//        verifySessionGetterSetters(session);
-//        
-//        ITraceControlComponent[] domains = session.getChildren();
-//        assertNotNull(domains);
-//        assertEquals(2, domains.length);
-//        
-//        // ------------------------------------------------------------------------
-//        // Verify Kernel domain
-//        // ------------------------------------------------------------------------
-//        assertEquals("Kernel", domains[0].getName());
-//        ITraceControlComponent[] channels =  domains[0].getChildren();
-//        assertNotNull(channels);
-//        assertEquals(2, channels.length);
-//
-//        // ------------------------------------------------------------------------
-//        // Verify Kernel's channel0
-//        // ------------------------------------------------------------------------
-//        assertTrue(channels[0] instanceof TraceChannelComponent);
-//        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
-//        assertEquals("channel0", channel.getName());
-//        assertEquals(4, channel.getNumberOfSubBuffers());
-//        assertEquals("splice()", channel.getOutputType());
-//        assertEquals(false, channel.isOverwriteMode());
-//        assertEquals(200, channel.getReadTimer());
-//        assertEquals(TraceEnablement.ENABLED, channel.getState());
-//        assertEquals(262144, channel.getSubBufferSize());
-//        assertEquals(0, channel.getSwitchTimer());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (kernel, channel0)
-//        // ------------------------------------------------------------------------
-//        ITraceControlComponent[] channel0Events = channel.getChildren();
-//        assertNotNull(channel0Events);
-//        assertEquals(5, channel0Events.length);
-//        assertTrue(channel0Events[0] instanceof TraceEventComponent);
-//        assertTrue(channel0Events[1] instanceof TraceEventComponent);
-//        assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
-//        assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
-//        assertTrue(channel0Events[4] instanceof TraceEventComponent);
-//        
-//        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
-//        assertEquals("block_rq_remap", event.getName());
-//        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        assertEquals(TraceEnablement.ENABLED, event.getState());
-//        
-//        event = (TraceEventComponent) channel0Events[1];
-//        assertEquals("block_bio_remap", event.getName());
-//        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        assertEquals(TraceEnablement.DISABLED, event.getState());
-//
-//        TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
-//        assertEquals("myevent2", probeEvent.getName());
-//        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
-//        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
-//        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
-//        assertEquals("0xc0101340", probeEvent.getAddress());
-//        assertNull(probeEvent.getOffset());
-//        assertNull(probeEvent.getSymbol());
-//
-//        probeEvent = (TraceProbeEventComponent) channel0Events[3];
-//        assertEquals("myevent0", probeEvent.getName());
-//        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
-//        assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
-//        assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
-//        assertNull(probeEvent.getAddress());
-//        assertEquals("0x0", probeEvent.getOffset());
-//        assertEquals("init_post", probeEvent.getSymbol());
-//        
-//        event = (TraceEventComponent) channel0Events[4];
-//        assertEquals("syscalls", event.getName());
-//        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
-//        assertEquals(TraceEventType.SYSCALL, event.getEventType());
-//        assertEquals(TraceEnablement.ENABLED, event.getState());
-//        
-//        // ------------------------------------------------------------------------
-//        // Verify Kernel's channel1
-//        // ------------------------------------------------------------------------
-//        assertEquals("channel1", channels[1].getName());
-//        channel = (TraceChannelComponent) channels[1]; 
-//        assertEquals(4, channel.getNumberOfSubBuffers());
-//        assertEquals("splice()", channel.getOutputType());
-//        assertEquals(true, channel.isOverwriteMode());
-//        assertEquals(400, channel.getReadTimer());
-//        assertEquals(TraceEnablement.DISABLED, channel.getState());
-//        assertEquals(524288, channel.getSubBufferSize());
-//        assertEquals(100, channel.getSwitchTimer());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (kernel, channel1)
-//        // ------------------------------------------------------------------------
-//        ITraceControlComponent[] channel1Events = channels[1].getChildren();
-//        assertEquals(0, channel1Events.length);
-//
-//        // ------------------------------------------------------------------------
-//        // Verify domain UST global
-//        // ------------------------------------------------------------------------
-//        assertEquals("UST global", domains[1].getName());
-//        
-//        ITraceControlComponent[] ustChannels = domains[1].getChildren();
-//        
-//        for (int i = 0; i < ustChannels.length; i++) {
-//            assertTrue(ustChannels[i] instanceof TraceChannelComponent);
-//        }
-//
-//        // ------------------------------------------------------------------------
-//        // Verify UST global's mychannel1
-//        // ------------------------------------------------------------------------
-//        channel = (TraceChannelComponent) ustChannels[0]; 
-//        assertEquals("mychannel1", channel.getName());
-//        assertEquals(8, channel.getNumberOfSubBuffers());
-//        assertEquals("mmap()", channel.getOutputType());
-//        assertEquals(true, channel.isOverwriteMode());
-//        assertEquals(100, channel.getReadTimer());
-//        assertEquals(TraceEnablement.DISABLED, channel.getState());
-//        assertEquals(8192, channel.getSubBufferSize());
-//        assertEquals(200, channel.getSwitchTimer());
-//        
-//        // verify getters and setters 
-//        verifyChannelGettersSetters(channel);
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (UST global, mychannel1)
-//        // ------------------------------------------------------------------------
-//        ITraceControlComponent[] ustEvents = channel.getChildren();
-//        assertEquals(0, ustEvents.length);
-//
-//        // ------------------------------------------------------------------------
-//        // Verify UST global's channel0
-//        // ------------------------------------------------------------------------
-//        channel = (TraceChannelComponent) ustChannels[1];
-//        assertEquals("channel0", channel.getName());
-//        assertEquals(4, channel.getNumberOfSubBuffers());
-//        assertEquals("mmap()", channel.getOutputType());
-//        assertEquals(false, channel.isOverwriteMode());
-//        assertEquals(200, channel.getReadTimer());
-//        assertEquals(TraceEnablement.ENABLED, channel.getState());
-//        assertEquals(4096, channel.getSubBufferSize());
-//        assertEquals(0, channel.getSwitchTimer());
-//
-//        // ------------------------------------------------------------------------
-//        // Verify event info (UST global, channel0)
-//        // ------------------------------------------------------------------------
-//        ustEvents = channel.getChildren();
-//        assertEquals(2, ustEvents.length);
-//        
-//        event = (TraceEventComponent) ustEvents[0];
-//        assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
-//        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        assertEquals(TraceEnablement.DISABLED, event.getState());
-//        
-//        event = (TraceEventComponent) ustEvents[1];
-//        assertEquals("*", ustEvents[1].getName());
-//        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        assertEquals(TraceEnablement.ENABLED, event.getState());
-//        
-//        // verify getters and setters
-//        verifyEventGettersSetters(event);
-//        
-//        // disconnect
-//        node.disconnect();
-//        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
-//        assertNotNull(node.getImage());
-//        assertNotSame(connectedImage, node.getImage());
-//    }
-//    
-//    private void verifySessionGetterSetters(TraceSessionComponent session) {
-//        // save original values
-//        String name = session.getName();
-//        String origPath = session.getSessionPath();
-//        TraceSessionState origState = session.getSessionState();
-//
-//        // test cases
-//        session.setName("newName");
-//        assertEquals("newName", session.getName());
-//        
-//        session.setSessionPath("/home/user/tmp");
-//        assertEquals("/home/user/tmp", session.getSessionPath());
-//
-//        session.setSessionState(TraceSessionState.INACTIVE);
-//        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
-//        Image inactiveImage = session.getImage();
-//        assertNotNull(inactiveImage);
-//        
-//        session.setSessionState("active");
-//        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-//
-//        Image activeImage = session.getImage();
-//        assertNotNull(activeImage);
-//        assertNotSame(activeImage, inactiveImage);
-//
-//        
-//        // restore original values      
-//        session.setName(name);
-//        session.setSessionPath(origPath);
-//        session.setSessionState(origState);
-//    }
-//
-//    private void verifyBaseEventGettersSetters(BaseEventComponent event) {
-//        // save original values
-//        String name =  event.getName();
-//        TraceLogLevel level = event.getLogLevel();
-//        TraceEventType type = event.getEventType();
-//        
-//        // test cases
-//        event.setName("newName");
-//        assertEquals("newName", event.getName());
-//        
-//        event.setLogLevel(TraceLogLevel.TRACE_INFO);
-//        assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
-//        event.setLogLevel("TRACE_ALERT");
-//        assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
-//
-//        event.setEventType(TraceEventType.UNKNOWN);
-//        assertEquals(TraceEventType.UNKNOWN, event.getEventType());
-//        event.setEventType("tracepoint");
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        
-//        // restore original values
-//        event.setName(name);
-//        event.setLogLevel(level);
-//        event.setEventType(type);
-//    }
-//    
-//    private void verifyEventGettersSetters(TraceEventComponent event) {
-//        // save original values
-//        String name =  event.getName();
-//        TraceLogLevel level = event.getLogLevel();
-//        TraceEventType type = event.getEventType();
-//        TraceEnablement state = event.getState();
-//        
-//        // test cases
-//        event.setName("newName");
-//        assertEquals("newName", event.getName());
-//        
-//        event.setLogLevel(TraceLogLevel.TRACE_INFO);
-//        assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
-//        event.setLogLevel("TRACE_ALERT");
-//        assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
-//
-//        event.setEventType(TraceEventType.UNKNOWN);
-//        assertEquals(TraceEventType.UNKNOWN, event.getEventType());
-//        event.setEventType("tracepoint");
-//        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
-//        
-//        event.setState("disabled");
-//        assertEquals(TraceEnablement.DISABLED, event.getState());
-//        
-//        Image disabledImage = event.getImage();
-//        assertNotNull(disabledImage);
-//
-//        event.setState(TraceEnablement.ENABLED);
-//        assertEquals(TraceEnablement.ENABLED, event.getState());
-//
-//        Image enabledImage = event.getImage();
-//        assertNotNull(enabledImage);
-//        assertNotSame(enabledImage, disabledImage);
-//
-//        // restore original values
-//        event.setName(name);
-//        event.setLogLevel(level);
-//        event.setEventType(type);
-//        event.setState(state);
-//    }
-//    
-//    private void verifyChannelGettersSetters(TraceChannelComponent channel) {
-//        // save original values
-//        String name = channel.getName();
-//        int nbSubBuffers = channel.getNumberOfSubBuffers();
-//        String type = channel.getOutputType();
-//        boolean mode = channel.isOverwriteMode();
-//        long readTimer = channel.getReadTimer();
-//        TraceEnablement state =  channel.getState();
-//        long subBufferSize = channel.getSubBufferSize();
-//        long switchTimer = channel.getSwitchTimer();
-//        
-//        // test cases
-//        channel.setName("newName");
-//        assertEquals("newName", channel.getName());
-//        
-//        channel.setNumberOfSubBuffers(2);
-//        assertEquals(2, channel.getNumberOfSubBuffers());
-//        
-//        channel.setOutputType("splice()");
-//        assertEquals("splice()", channel.getOutputType());
-//        
-//        channel.setOverwriteMode(false);
-//        assertEquals(false, channel.isOverwriteMode());
-//        
-//        channel.setReadTimer(250);
-//        assertEquals(250, channel.getReadTimer());
-//        
-//        channel.setState("enabled");
-//        assertEquals(TraceEnablement.ENABLED, channel.getState());
-//        
-//        Image enabledImage = channel.getImage();
-//        assertNotNull(enabledImage);
-//        channel.setState(TraceEnablement.DISABLED);
-//        assertEquals(TraceEnablement.DISABLED, channel.getState());
-//
-//        Image disabledImage = channel.getImage();
-//        assertNotNull(disabledImage);
-//        assertNotSame(enabledImage, disabledImage);
-//        
-//        channel.setSubBufferSize(1024);
-//        assertEquals(1024, channel.getSubBufferSize());
-//        
-//        channel.setSwitchTimer(1000);
-//        assertEquals(1000, channel.getSwitchTimer());
-//
-//        // restore original values
-//        channel.setName(name);
-//        channel.setNumberOfSubBuffers(nbSubBuffers);
-//        channel.setOutputType(type);
-//        channel.setOverwriteMode(mode);
-//        channel.setReadTimer(readTimer);
-//        channel.setState(state);
-//        channel.setSubBufferSize(subBufferSize);
-//        channel.setSwitchTimer(switchTimer);
-//    }
-//    
-//    private void verifyUstProviderGettersSetters(UstProviderComponent ustProvider) {
-//        // save original values
-//        String name = ustProvider.getName();
-//        int pid = ustProvider.getPid();
-//        
-//        // test cases
-//        ustProvider.setName("newName");
-//        assertEquals("newName", ustProvider.getName());
-//
-//        ustProvider.setPid(9876);
-//        assertEquals(9876, ustProvider.getPid());
-//        
-//        // restore original values
-//        ustProvider.setName(name);
-//        ustProvider.setPid(pid);
-//    }
-
-    public class CreateSessionDialogStub implements ICreateSessionDialog {
-        public String fPath = null;
-        
-        @Override
-        public String getSessionName() {
-            return "mysession";
-        }
-
-        @Override
-        public String getSessionPath() {
-            return fPath;
-        }
-
-        @Override
-        public boolean isDefaultSessionPath() {
-            return fPath == null;
-        }
-
-        @Override
-        public void setTraceSessionGroup(TraceSessionGroup group) {
-
-        }
-
-        @Override
-        public int open() {
-            return 0;
-        }
-        
-        public void setSessionPath(String path) {
-            fPath = path;
-        }
-    }
-
-    public class GetEventInfoDialogStub implements IGetEventInfoDialog {
-
-        private TraceSessionComponent[] fSessions;
-        
-        @Override
-        public TraceSessionComponent getSession() {
-            return fSessions[0];
-        }
-
-        @Override
-        public TraceChannelComponent getChannel() {
-            return null;
-        }
-
-        @Override
-        public void setIsKernel(boolean isKernel) {
-        }
-
-        @Override
-        public void setSessions(TraceSessionComponent[] sessions) {
-            fSessions = sessions;
-        }
-
-        @Override
-        public int open() {
-            return 0;
-        }
-    }
-    
-    public class DestroyConfirmDialogStub implements IConfirmDialog {
-
-        @Override
-        public boolean openConfirm(Shell parent, String title, String message) {
-            return true;
-        }
-    }
-    
-    public class CreateChannelDialogStub implements ICreateChannelDialog {
-
-        @Override
-        public IChannelInfo getChannelInfo() {
-            ChannelInfo info = new ChannelInfo("mychannel");
-            info.setNumberOfSubBuffers(2);
-            info.setOverwriteMode(false);
-            info.setReadTimer(100);
-            info.setSwitchTimer(200);
-            info.setSubBufferSize(16384);
-            return info;
-        }
-
-        @Override
-        public void setDomainComponent(TraceDomainComponent domain) {
-        }
-
-        @Override
-        public int open() {
-            return 0;
-        }
-
-        @Override
-        public boolean isKernel() {
-            return false;
-        }
-        
-    }
-}
\ No newline at end of file
index aeb3a09576aca3786d8433887f05d2d5b83c4d3d..46b75357d1dcfe56b16c4023442d38394374d7b2 100644 (file)
@@ -17,6 +17,8 @@ import org.eclipse.core.commands.NotHandledException;
 import org.eclipse.core.commands.common.NotDefinedException;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.ControlView;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IViewPart;
 import org.eclipse.ui.PartInitException;
@@ -32,10 +34,14 @@ public class TraceControlTestFacility {
     // ------------------------------------------------------------------------
     // Constants
     // ------------------------------------------------------------------------
-    final static public int WAIT_FOR_JOBS_DELAY = 1000; 
-    final static public int GUI_REFESH_DELAY = 500;
-
-    final static public String COMMAND_CATEGORY_PREFIX = "org.eclipse.linuxtools.internal.lttng2.ui.commands.control."; //$NON-NLS-1$
+    public final static int WAIT_FOR_JOBS_DELAY = 1000; 
+    public final static int GUI_REFESH_DELAY = 500;
+           
+    public final static String DIRECTORY = "testfiles"; //$NON-NLS-1$
+    public final static String COMMAND_CATEGORY_PREFIX = "org.eclipse.linuxtools.internal.lttng2.ui.commands.control."; //$NON-NLS-1$
+    public final static String SCEN_INIT_TEST = "Initialize"; //$NON-NLS-1$
+    public final static String SCEN_SCENARIO_SESSION_HANDLING = "SessionHandling"; //$NON-NLS-1$
+    public final static String SCEN_SCENARIO_SESSION_HANDLING_WITH_PATH = "SessionHandlingWithPath"; //$NON-NLS-1$
     
     // ------------------------------------------------------------------------
     // Attributes
@@ -86,6 +92,9 @@ public class TraceControlTestFacility {
     }
 
     
+    /**
+     * Disposes the facility (and GUI)
+     */
     public void dispose() {
         if (fIsInitialized) {
             waitForJobs();
@@ -94,7 +103,11 @@ public class TraceControlTestFacility {
             fIsInitialized = false;
         }
     }
-    
+
+    /**
+     * Creates a delay for given time.
+     * @param waitTimeMillis - time in milli seconds
+     */
     public void delay(long waitTimeMillis) {
         Display display = Display.getCurrent();
         if (display != null) {
@@ -123,7 +136,6 @@ public class TraceControlTestFacility {
         }
     }
 
-
     /**
      * @return current control view
      */
@@ -131,10 +143,129 @@ public class TraceControlTestFacility {
         return fControlView;
     }
 
+    /**
+     * Executes an Eclipse command with command ID after selecting passed component
+     * @param component - component to select in the tree
+     * @param commandId - command ID
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    public void executeCommand(ITraceControlComponent component, String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        setSelection(component);
+        executeCommand(commandId);
+    }
+    
+    /**
+     * Executes an Eclipse command with command ID after selecting passed components
+     * @param components - array of components to select in the tree
+     * @param commandId - command ID
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    public void executeCommand(ITraceControlComponent[] components, String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        setSelection(components);
+        executeCommand(commandId);
+    }
+
+    /**
+     * Executes an Eclipse command with command ID
+     * @param commandId
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
     public void executeCommand(String commandId) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
-//        ICommandService commandService = (ICommandService) fControlView.getSite().getService(ICommandService.class);
         IHandlerService handlerService = (IHandlerService) fControlView.getSite().getService(IHandlerService.class);
         handlerService.executeCommand(COMMAND_CATEGORY_PREFIX + commandId, null);
+        waitForJobs();
+    }
+
+    /**
+     * Selects passed component
+     * @param component - component to select in the tree
+     * @param commandId - command ID
+     */
+    public void setSelection(ITraceControlComponent component) {
+        fControlView.setSelection(component);
+
+        // Give GUI time to actually execute refresh
+        delay(TraceControlTestFacility.GUI_REFESH_DELAY);
     }
 
+    
+    /**
+     * Selects passed components
+     * @param components - array of component to select in the tree
+     * @param commandId - command ID
+     */
+    public void setSelection(ITraceControlComponent[] components) {
+        fControlView.setSelection(components);
+
+        // Give GUI time to actually execute refresh
+        delay(TraceControlTestFacility.GUI_REFESH_DELAY);
+    }
+    
+    /**
+     * Creates session on passed session group.
+     * @param group - session group
+     * @return - trace session group if it's successful else null
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    @SuppressWarnings("nls")
+    public TraceSessionComponent createSession(ITraceControlComponent group) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        executeCommand(group, "createSession");
+        
+        ITraceControlComponent[] sessions = group.getChildren();
+        if ((sessions == null) || (sessions.length == 0)) {
+            return null;
+        }
+        return (TraceSessionComponent)sessions[0];
+    }
+    
+    /**
+     * Destroys a given session.
+     * @param session - session to destroy
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    @SuppressWarnings("nls")
+    public void destroySession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        executeCommand(session, "destroySession");
+    }
+    
+    /**
+     * Starts a given session
+     * @param session - session to start
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    @SuppressWarnings("nls")
+    public void startSession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        executeCommand(session, "start");
+    }
+    
+    /**
+     * Stops a given session
+     * @param session - session to stop
+     * @throws ExecutionException
+     * @throws NotDefinedException
+     * @throws NotEnabledException
+     * @throws NotHandledException
+     */
+    @SuppressWarnings("nls")
+    public void stopSession(TraceSessionComponent session) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+        executeCommand(session, "stop");
+    }
 }
index 677e3d3ce08444d71ec8bf2efbffe3a9f1e8ce1b..a83288b7449c18b242e08dec24b334ea2f0443f4 100644 (file)
@@ -47,14 +47,16 @@ import org.eclipse.swt.graphics.Image;
 import org.junit.After;
 import org.junit.Before;
 
-
 /**
  * The class <code>TraceControlTreeModelTest</code> contains tests for the tree component classes.
  */
 @SuppressWarnings("nls")
 public class TraceControlTreeModelTest extends TestCase {
-    
-    private static final String DIRECTORY   = "testfiles";
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+
     private static final String TEST_STREAM = "ListInfoTest.cfg";
     private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
     
@@ -92,7 +94,7 @@ public class TraceControlTreeModelTest extends TestCase {
     @Before
     public void setUp() throws Exception {
         fProxy = new TestRemoteSystemProxy();
-        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(DIRECTORY + File.separator + TEST_STREAM), null);
+        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
         File testfile = new File(FileLocator.toFileURL(location).toURI());
         fTestFile = testfile.getAbsolutePath();
     }
@@ -440,6 +442,8 @@ public class TraceControlTreeModelTest extends TestCase {
         assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
         assertNotNull(node.getImage());
         assertNotSame(connectedImage, node.getImage());
+        
+        node.getParent().removeChild(node);
     }
     
     private void verifySessionGetterSetters(TraceSessionComponent session) {
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstProviderTests.java b/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstProviderTests.java
new file mode 100644 (file)
index 0000000..a1b9df6
--- /dev/null
@@ -0,0 +1,297 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
+
+import java.io.File;
+import java.net.URL;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateChannelDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateSessionDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.DestroyConfirmDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.GetEventInfoDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.TraceControlDialogFactory;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.KernelProviderComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.UstProviderComponent;
+import org.eclipse.linuxtools.lttng2.ui.tests.Activator;
+import org.eclipse.rse.core.model.Host;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.internal.core.model.SystemProfile;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * The class <code>TraceControlUstProviderTests</code> contains UST provider handling
+ * test cases.
+ */
+@SuppressWarnings("nls")
+public class TraceControlUstProviderTests extends TestCase {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    private static final String TEST_STREAM = "CreateTreeTest.cfg";
+    private static final String SCEN_SCENARIO2_TEST = "Scenario2";
+
+    // ------------------------------------------------------------------------
+    // Test data
+    // ------------------------------------------------------------------------
+    private TraceControlTestFacility fFacility;
+    private TestRemoteSystemProxy fProxy;
+    private String fTestFile; 
+    
+    // ------------------------------------------------------------------------
+    // Static methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns test setup used when executing test case stand-alone.
+     * @return Test setup class 
+     */
+    public static Test suite() {
+        return new ModelImplTestSetup(new TestSuite(TraceControlUstProviderTests.class));
+    }
+
+    // ------------------------------------------------------------------------
+    // Housekeeping
+    // ------------------------------------------------------------------------
+
+    /**
+     * Perform pre-test initialization.
+     *
+     * @throws Exception
+     *         if the initialization fails for some reason
+     *
+     */
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        fFacility = TraceControlTestFacility.getInstance();
+        fProxy = new TestRemoteSystemProxy();
+        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
+        File testfile = new File(FileLocator.toFileURL(location).toURI());
+        fTestFile = testfile.getAbsolutePath();
+    }
+
+    /**
+     * Perform post-test clean-up.
+     *
+     * @throws Exception
+     *         if the clean-up fails for some reason
+     *
+     */
+    @Override
+    @After
+    public void tearDown() throws Exception {
+    }
+    
+    /**
+     * Run the TraceControlComponent.
+     */
+    public void testUstProviderTree() throws Exception {
+        
+        fProxy.setTestFile(fTestFile);
+        fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
+        
+        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
+
+        @SuppressWarnings("restriction")
+        IHost host = new Host(new SystemProfile("myProfile", true));
+        host.setHostName("127.0.0.1");
+
+        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
+        root.addChild(node);
+        
+        fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
+        
+        fFacility.executeCommand(node, "connect");
+        
+        // Verify that node is connected
+        assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
+
+        // Get provider groups
+        ITraceControlComponent[] groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+
+        // Get kernel provider
+        ITraceControlComponent[] providers = groups[0].getChildren();
+        KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
+
+        // Get kernel provider events and select 2 events 
+        ITraceControlComponent[] events = kernelProvider.getChildren();
+        assertNotNull(events);
+        assertEquals(3, events.length);
+
+        BaseEventComponent baseEventInfo0 = (BaseEventComponent) events[0];
+        BaseEventComponent baseEventInfo1  = (BaseEventComponent) events[1];
+
+        // Initialize dialog implementations for command execution
+        TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
+        TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
+        TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
+
+        // ------------------------------------------------------------------------
+        // Create session
+        // ------------------------------------------------------------------------
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING_WITH_PATH);
+
+        CreateSessionDialogStub sessionDialogStub = new CreateSessionDialogStub();
+        sessionDialogStub.setSessionPath("/home/user/temp");
+        TraceControlDialogFactory.getInstance().setCreateSessionDialog(sessionDialogStub);
+
+        TraceSessionComponent session = fFacility.createSession(groups[1]);
+        
+        // Verify that session was created
+        assertNotNull(session);
+        assertEquals("mysession", session.getName());
+        assertEquals("/home/user/temp", session.getSessionPath());
+        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
+        
+        // ------------------------------------------------------------------------
+        // Create Channel on UST global domain
+        // ------------------------------------------------------------------------
+        fProxy.setScenario(SCEN_SCENARIO2_TEST);
+        CreateChannelDialogStub channelDialogStub = new CreateChannelDialogStub();
+        channelDialogStub.setIsKernel(false);
+        channelDialogStub.getChannelInfo().setOverwriteMode(false);
+        channelDialogStub.getChannelInfo().setSwitchTimer(200);
+        channelDialogStub.getChannelInfo().setReadTimer(100);
+        channelDialogStub.getChannelInfo().setNumberOfSubBuffers(2);
+        TraceControlDialogFactory.getInstance().setCreateChannelDialog(channelDialogStub);
+
+        fFacility.executeCommand(session, "createChannelOnSession");
+        
+        // Verify that UST domain was created
+        ITraceControlComponent[] domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        assertEquals("UST global", domains[0].getName());
+        
+        // Verify that channel was created with correct data
+        ITraceControlComponent[]channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(1, channels.length);
+
+        assertTrue(channels[0] instanceof TraceChannelComponent);
+        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
+        assertEquals("mychannel", channel.getName());
+        assertEquals(2, channel.getNumberOfSubBuffers());
+        assertEquals("mmap()", channel.getOutputType());
+        assertEquals(false, channel.isOverwriteMode());
+        assertEquals(100, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(16384, channel.getSubBufferSize());
+        assertEquals(200, channel.getSwitchTimer());
+
+        // ------------------------------------------------------------------------
+        // Enable event on default channel on created session above
+        // ------------------------------------------------------------------------
+        // Get first UST provider
+        UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
+        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", ustProvider.getName());
+        assertEquals(9379, ustProvider.getPid());
+
+        // Get events
+        events = ustProvider.getChildren();
+        assertNotNull(events);
+        assertEquals(2, events.length);
+
+        baseEventInfo0 = (BaseEventComponent) events[0];
+        baseEventInfo1 = (BaseEventComponent) events[1];
+
+        ITraceControlComponent[] ustSelection =  { baseEventInfo0, baseEventInfo1 };
+
+        fFacility.executeCommand(ustSelection, "assign.event");
+        
+        // verify that events were created under the channel
+        // Note that domain and channel has to be re-read because the tree is re-created
+
+        domains = session.getChildren();
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+
+        ITraceControlComponent[] ustEvents = channels[0].getChildren();
+        assertEquals(2, ustEvents.length);
+
+        TraceEventComponent event = (TraceEventComponent) ustEvents[0];
+        assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        event = (TraceEventComponent) ustEvents[1];
+        assertEquals("ust_tests_hello:tptest", ustEvents[1].getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Disable event components 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(event, "disableEvent");
+        
+        assertEquals(TraceEnablement.DISABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event component 
+        // ------------------------------------------------------------------------
+        fFacility.executeCommand(event, "enableEvent");
+
+        // Verify event state
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+        
+        // ------------------------------------------------------------------------
+        // Destroy session 
+        // ------------------------------------------------------------------------
+
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+
+        fFacility.destroySession(session);
+        
+        // Verify that no more session components exist
+        assertEquals(0, groups[1].getChildren().length);
+
+        //-------------------------------------------------------------------------
+        // Disconnect node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "disconnect");
+        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
+
+        //-------------------------------------------------------------------------
+        // Delete node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "delete");
+        assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
+   }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstSessionTests.java b/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlUstSessionTests.java
new file mode 100644 (file)
index 0000000..c47e49b
--- /dev/null
@@ -0,0 +1,549 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateChannelDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.CreateSessionDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.DestroyConfirmDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.EnableEventsDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.dialogs.GetEventInfoDialogStub;
+import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.TraceControlDialogFactory;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.LogLevelType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.ChannelInfo;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.linuxtools.lttng2.ui.tests.Activator;
+import org.eclipse.rse.core.model.Host;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.internal.core.model.SystemProfile;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * The class <code>TraceControlUstSessionTests</code> contains UST session/channel/event
+ * handling test cases.
+ */
+@SuppressWarnings("nls")
+public class TraceControlUstSessionTests extends TestCase {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    private static final String TEST_STREAM = "CreateTreeTest.cfg";
+    private static final String SCEN_SCENARIO4_TEST = "Scenario4";
+
+    // ------------------------------------------------------------------------
+    // Test data
+    // ------------------------------------------------------------------------
+    private TraceControlTestFacility fFacility;
+    private TestRemoteSystemProxy fProxy;
+    private String fTestFile; 
+    
+    // ------------------------------------------------------------------------
+    // Static methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns test setup used when executing test case stand-alone.
+     * @return Test setup class 
+     */
+    public static Test suite() {
+        return new ModelImplTestSetup(new TestSuite(TraceControlUstSessionTests.class));
+    }
+
+    // ------------------------------------------------------------------------
+    // Housekeeping
+    // ------------------------------------------------------------------------
+
+    /**
+     * Perform pre-test initialization.
+     *
+     * @throws Exception
+     *         if the initialization fails for some reason
+     *
+     */
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        fFacility = TraceControlTestFacility.getInstance();
+        fProxy = new TestRemoteSystemProxy();
+        URL location = FileLocator.find(Activator.getDefault().getBundle(), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
+        File testfile = new File(FileLocator.toFileURL(location).toURI());
+        fTestFile = testfile.getAbsolutePath();
+    }
+
+    /**
+     * Perform post-test clean-up.
+     *
+     * @throws Exception
+     *         if the clean-up fails for some reason
+     *
+     */
+    @Override
+    @After
+    public void tearDown()  throws Exception {
+    }
+    
+    /**
+     * Run the TraceControlComponent.
+     */
+    public void testTraceSessionTree() throws Exception {
+        
+        fProxy.setTestFile(fTestFile);
+        fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
+        
+        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
+
+        @SuppressWarnings("restriction")
+        IHost host = new Host(new SystemProfile("myProfile", true));
+        host.setHostName("127.0.0.1");
+
+        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
+
+        root.addChild(node);
+        node.connect();
+
+        fFacility.waitForJobs();
+
+        // Verify that node is connected
+        assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
+
+        // Get provider groups
+        ITraceControlComponent[] groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+
+        // Initialize dialog implementations for command execution
+        TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
+        TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
+        TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
+
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+        // ------------------------------------------------------------------------
+        // Create session
+        // ------------------------------------------------------------------------
+        TraceSessionComponent session = fFacility.createSession(groups[1]);
+        
+        // Verify that session was created
+        assertNotNull(session);
+        assertEquals("mysession", session.getName());
+        assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
+        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
+
+        // Initialize scenario
+        fProxy.setScenario(SCEN_SCENARIO4_TEST);
+        
+        // ------------------------------------------------------------------------
+        // Enable default channel on created session above
+        // ------------------------------------------------------------------------
+        CreateChannelDialogStub channelStub = new CreateChannelDialogStub();
+        channelStub.setIsKernel(false);
+        TraceControlDialogFactory.getInstance().setCreateChannelDialog(channelStub);
+
+        fFacility.executeCommand(session, "createChannelOnSession");
+        
+        // Verify that Kernel domain was created
+        ITraceControlComponent[] domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        assertEquals("UST global", domains[0].getName());
+        
+        // Verify that channel was created with correct data
+        ITraceControlComponent[] channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(1, channels.length);
+
+        assertTrue(channels[0] instanceof TraceChannelComponent);
+        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
+        assertEquals("mychannel", channel.getName());
+        assertEquals(4, channel.getNumberOfSubBuffers());
+        assertEquals("mmap()", channel.getOutputType());
+        assertEquals(true, channel.isOverwriteMode());
+        assertEquals(200, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(16384, channel.getSubBufferSize());
+        assertEquals(100, channel.getSwitchTimer());
+
+        // ------------------------------------------------------------------------
+        // Enable channel on domain
+        // ------------------------------------------------------------------------
+        ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
+        info.setName("mychannel2");
+        info.setOverwriteMode(false);
+        info.setSubBufferSize(32768);
+        info.setNumberOfSubBuffers(2);
+        info.setSwitchTimer(100);
+        info.setReadTimer(200);
+        channelStub.setChannelInfo(info);
+        
+        fFacility.executeCommand(domains[0], "createChannelOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(2, channels.length);
+
+        assertTrue(channels[1] instanceof TraceChannelComponent);
+        channel = (TraceChannelComponent) channels[1]; 
+        assertEquals("mychannel2", channel.getName());
+        assertEquals(2, channel.getNumberOfSubBuffers());
+        assertEquals("mmap()", channel.getOutputType());
+        assertEquals(false, channel.isOverwriteMode());
+        assertEquals(200, channel.getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channel.getState());
+        assertEquals(32768, channel.getSubBufferSize());
+        assertEquals(100, channel.getSwitchTimer());
+
+        // ------------------------------------------------------------------------
+        // Enable event (tracepoint) on session and default channel
+        // ------------------------------------------------------------------------
+        EnableEventsDialogStub eventsDialogStub = new EnableEventsDialogStub();
+        eventsDialogStub.setIsTracePoints(true);
+        List<String> events = new ArrayList<String>();
+        events.add("ust_tests_hello:tptest_sighandler");
+        eventsDialogStub.setNames(events);
+        eventsDialogStub.setIsKernel(false);
+        TraceControlDialogFactory.getInstance().setEnableEventsDialog(eventsDialogStub);
+        
+        fFacility.executeCommand(session, "enableEventOnSession");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(3, channels.length);
+
+        assertTrue(channels[2] instanceof TraceChannelComponent);
+        channel = (TraceChannelComponent) channels[2]; 
+        assertEquals("channel0", channel.getName());
+        // No need to check parameters of default channel because that has been done in other tests
+
+        ITraceControlComponent[] channel0Events = channel.getChildren();
+        assertEquals(1, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+
+        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
+        assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (tracepoint) on domain and default channel
+        // ------------------------------------------------------------------------
+        events.clear();
+        events.add("ust_tests_hello:tptest");
+        eventsDialogStub.setNames(events);
+        
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(2, channel0Events.length);
+        
+        assertTrue(channel0Events[1] instanceof TraceEventComponent);
+
+        event = (TraceEventComponent) channel0Events[1];
+        assertEquals("ust_tests_hello:tptest", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (all tracepoints) on specific channel
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setNames(events);
+        eventsDialogStub.setIsAllTracePoints(true);
+
+        fFacility.executeCommand(channels[1], "enableEventOnChannel");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[1]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel = (TraceChannelComponent) channels[1];
+        
+        channel0Events = channel.getChildren();
+        assertEquals(1, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("*", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (wildcard) on specific channel
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsTracePoints(false);        
+        eventsDialogStub.setIsAllTracePoints(false);
+        eventsDialogStub.setIsWildcard(true);
+        eventsDialogStub.setWildcard("ust*");
+
+        fFacility.executeCommand(channels[0], "enableEventOnChannel");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(1, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("ust*", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (wildcard) on domain
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsTracePoints(false);        
+        eventsDialogStub.setIsAllTracePoints(false);
+        eventsDialogStub.setIsWildcard(true);
+        eventsDialogStub.setWildcard("ust*");
+
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(1, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("ust*", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (wildcard) on session
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsTracePoints(false);        
+        eventsDialogStub.setIsAllTracePoints(false);
+        eventsDialogStub.setIsWildcard(true);
+        eventsDialogStub.setWildcard("ust*");
+
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(4, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("u*", event.getName());
+        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (loglevel) on domain
+        // ------------------------------------------------------------------------
+        events.clear();
+        eventsDialogStub.setIsWildcard(false);
+        eventsDialogStub.setIsLogLevel(true);
+        eventsDialogStub.setLogLevelEventName("myevent1");
+        eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL);
+        eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_WARNING);
+        
+        fFacility.executeCommand(domains[0], "enableEventOnDomain");
+
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(5, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("myevent1", event.getName());
+        assertEquals(TraceLogLevel.TRACE_WARNING, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (loglevel) on session
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setLogLevelEventName("myevent2");
+        eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
+        eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
+        
+        fFacility.executeCommand(session, "enableEventOnSession");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[2]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(6, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("myevent2", event.getName());
+        assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+
+        // ------------------------------------------------------------------------
+        // Enable event (loglevel) on channel
+        // ------------------------------------------------------------------------
+        eventsDialogStub.setLogLevelEventName("myevent0");
+        eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
+        eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
+        
+        fFacility.executeCommand(channels[0], "enableEventOnChannel");
+        
+        // Get Kernel domain component instance
+        domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(1, domains.length);
+
+        // Verify that channel was created with correct data
+        channels =  domains[0].getChildren();
+        channel = (TraceChannelComponent) channels[0]; 
+        // No need to check parameters of default channel because that has been done in other tests
+
+        channel0Events = channel.getChildren();
+        assertEquals(2, channel0Events.length);
+        
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        event = (TraceEventComponent) channel0Events[0];
+        assertEquals("myevent0", event.getName());
+        assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
+        assertEquals(TraceEnablement.ENABLED, event.getState());
+        
+        // ------------------------------------------------------------------------
+        // Destroy session 
+        // ------------------------------------------------------------------------
+        // Initialize session handling scenario
+        fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
+
+        fFacility.destroySession(session);
+        
+        // Verify that no more session components exist
+        assertEquals(0, groups[1].getChildren().length);
+
+        //-------------------------------------------------------------------------
+        // Disconnect node
+        //-------------------------------------------------------------------------
+        fFacility.executeCommand(node, "disconnect");
+        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
+
+        //-------------------------------------------------------------------------
+        // Delete node
+        //-------------------------------------------------------------------------
+        
+        fFacility.executeCommand(node, "delete");
+
+        assertEquals(0,fFacility.getControlView().getTraceControlRoot().getChildren().length);
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateChannelDialogStub.java b/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateChannelDialogStub.java
new file mode 100644 (file)
index 0000000..187f9cc
--- /dev/null
@@ -0,0 +1,76 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.internal.lttng2.stubs.dialogs;
+
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.ICreateChannelDialog;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IChannelInfo;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.ChannelInfo;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceDomainComponent;
+
+/**
+ * Create channel dialog stub implementation. 
+ */
+public class CreateChannelDialogStub implements ICreateChannelDialog {
+    
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    private TraceDomainComponent fDomain;
+    private ChannelInfo fChannelInfo;
+    private boolean fIsKernel;
+    
+    // ------------------------------------------------------------------------
+    // Constructor
+    // ------------------------------------------------------------------------
+    public CreateChannelDialogStub() {
+        fChannelInfo = new ChannelInfo("mychannel"); //$NON-NLS-1$
+        fChannelInfo.setNumberOfSubBuffers(4);
+        fChannelInfo.setOverwriteMode(true);
+        fChannelInfo.setReadTimer(200);
+        fChannelInfo.setSwitchTimer(100);
+        fChannelInfo.setSubBufferSize(16384);
+    }
+   
+    // ------------------------------------------------------------------------
+    // Accessors
+    // ------------------------------------------------------------------------
+    public void setIsKernel(boolean isKernel) {
+        fIsKernel = isKernel;
+    }
+    
+    @Override
+    public IChannelInfo getChannelInfo() {
+        return fChannelInfo;
+    }
+
+    @Override
+    public void setDomainComponent(TraceDomainComponent domain) {
+        fDomain = domain;
+        if (fDomain != null) {
+            fIsKernel = fDomain.isKernel();
+        }
+    }
+
+    @Override
+    public int open() {
+        return 0;
+    }
+
+    @Override
+    public boolean isKernel() {
+        return fIsKernel;
+    }
+    
+    public void setChannelInfo(ChannelInfo info) {
+        fChannelInfo = info;
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateSessionDialogStub.java b/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/CreateSessionDialogStub.java
new file mode 100644 (file)
index 0000000..5a79cc5
--- /dev/null
@@ -0,0 +1,58 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.internal.lttng2.stubs.dialogs;
+
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.ICreateSessionDialog;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionGroup;
+
+/**
+ * Create session dialog stub implementation. 
+ */
+public class CreateSessionDialogStub implements ICreateSessionDialog {
+    
+    public String fName = "mysession"; //$NON-NLS-1$
+    public String fPath = null;
+    
+    
+    @Override
+    public String getSessionName() {
+        return fName;
+    }
+
+    @Override
+    public String getSessionPath() {
+        return fPath;
+    }
+
+    @Override
+    public boolean isDefaultSessionPath() {
+        return fPath == null;
+    }
+
+    @Override
+    public void setTraceSessionGroup(TraceSessionGroup group) {
+
+    }
+
+    @Override
+    public int open() {
+        return 0;
+    }
+    
+    public void setSessionPath(String path) {
+        fPath = path;
+    }
+    
+    public void setSessionName(String name) {
+        fName = name;
+    }
+}
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/DestroyConfirmDialogStub.java b/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/DestroyConfirmDialogStub.java
new file mode 100644 (file)
index 0000000..d754109
--- /dev/null
@@ -0,0 +1,26 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.internal.lttng2.stubs.dialogs;
+
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IConfirmDialog;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * A confirmation dialog stub implementation. 
+ */
+public class DestroyConfirmDialogStub implements IConfirmDialog {
+
+    @Override
+    public boolean openConfirm(Shell parent, String title, String message) {
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/EnableEventsDialogStub.java b/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/EnableEventsDialogStub.java
new file mode 100644 (file)
index 0000000..91715ce
--- /dev/null
@@ -0,0 +1,222 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.internal.lttng2.stubs.dialogs;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableEventsDialog;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.LogLevelType;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceDomainComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceProviderGroup;
+
+/**
+ * Enable events dialog stub implementation. 
+ */
+public class EnableEventsDialogStub implements IEnableEventsDialog {
+
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    private boolean fIsKernel;
+    private boolean fIsTracePoints;
+    private boolean fIsAllTracePoints;
+    private boolean fIsSysCalls;
+    private boolean fIsDynamicProbe;
+    private String fProbeEventName;
+    private String fDynamicProbe;
+    private boolean fIsFunctionProbe;
+    private String fFunctionEventName;
+    private String fFunctionProbe;
+    private boolean fIsWildcard;
+    private String fWildcard;
+    private boolean fIsLogLevel;
+    private String fLogLevelEventName;
+    private TraceLogLevel fLogLevel;
+    private LogLevelType fLogLevelType;
+    List<String> fNames = new ArrayList<String>();
+
+    // ------------------------------------------------------------------------
+    // Accessors
+    // ------------------------------------------------------------------------
+    public void setIsKernel(boolean isKernel) {
+        fIsKernel = isKernel;
+    }
+
+    public void setIsTracePoints(boolean isTracePoints) {
+        fIsTracePoints = isTracePoints;
+    }
+
+    public void setIsAllTracePoints(boolean isAllTracePoints) {
+        fIsAllTracePoints = isAllTracePoints;
+    }
+
+    public void setIsSysCalls(boolean isSysCalls) {
+        this.fIsSysCalls = isSysCalls;
+    }
+
+    public void setIsDynamicProbe(boolean isDynamicProbe) {
+        fIsDynamicProbe = isDynamicProbe;
+    }
+
+    public void setProbeEventName(String probeEventName) {
+        fProbeEventName = probeEventName;
+    }
+
+    public void setDynamicProbe(String dynamicProbe) {
+        fDynamicProbe = dynamicProbe;
+    }
+
+    public void setIsFunctionProbe(boolean isFunctionProbe) {
+        fIsFunctionProbe = isFunctionProbe;
+    }
+
+    public void setFunctionEventName(String functionEventName) {
+        fFunctionEventName = functionEventName;
+    }
+
+    public void setFunctionProbe(String functionProbe) {
+        fFunctionProbe = functionProbe;
+    }
+
+    public void setIsWildcard(boolean isWildcard) {
+        fIsWildcard = isWildcard;
+    }
+
+    public void setWildcard(String wildcard) {
+        fWildcard = wildcard;
+    }
+
+    public void setIsLogLevel(boolean isLogLevel) {
+        fIsLogLevel = isLogLevel;
+    }
+
+    public void setLogLevelEventName(String logLevelEventName) {
+        fLogLevelEventName = logLevelEventName;
+    }
+
+    public void setLogLevel(TraceLogLevel logLevel) {
+        fLogLevel = logLevel;
+    }
+
+    public void setLogLevelType(LogLevelType logLevelType) {
+        fLogLevelType = logLevelType;
+    }
+    
+    public void setNames(List<String> names) {
+        fNames = names;
+    }
+
+    @Override
+    public boolean isTracepoints() {
+        return fIsTracePoints;
+    }
+
+    @Override
+    public boolean isAllTracePoints() {
+        return fIsAllTracePoints;
+    }
+
+    @Override
+    public boolean isSysCalls() {
+        return fIsSysCalls;
+    }
+
+    @Override
+    public boolean isAllSysCalls() {
+        return fIsSysCalls;
+    }
+
+    @Override
+    public List<String> getEventNames() {
+        return fNames;
+    }
+
+    @Override
+    public boolean isDynamicProbe() {
+        return fIsDynamicProbe;
+    }
+
+    @Override
+    public String getProbeEventName() {
+        return fProbeEventName;
+    }
+
+    @Override
+    public String getProbeName() {
+        return fDynamicProbe;
+    }
+
+    @Override
+    public boolean isDynamicFunctionProbe() {
+        return fIsFunctionProbe;
+    }
+
+    @Override
+    public String getFunctionEventName() {
+        return fFunctionEventName;
+    }
+
+    @Override
+    public String getFunction() {
+        return fFunctionProbe;
+    }
+
+    @Override
+    public boolean isWildcard() {
+        return fIsWildcard;
+    }
+
+    @Override
+    public String getWildcard() {
+        return fWildcard;
+    }
+
+    @Override
+    public boolean isLogLevel() {
+        return fIsLogLevel;
+    }
+
+    @Override
+    public LogLevelType getLogLevelType() {
+        return fLogLevelType;
+    }
+
+    @Override
+    public TraceLogLevel getLogLevel() {
+        return fLogLevel;
+    }
+
+    @Override
+    public String getLogLevelEventName() {
+        return fLogLevelEventName;
+    }
+
+    @Override
+    public boolean isKernel() {
+        return fIsKernel;
+    }
+
+    @Override
+    public void setTraceProviderGroup(TraceProviderGroup providerGroup) {
+    }
+
+    @Override
+    public void setTraceDomainComponent(TraceDomainComponent domain) {
+    }
+
+    @Override
+    public int open() {
+        return 0;
+    }
+}
\ No newline at end of file
diff --git a/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/GetEventInfoDialogStub.java b/org.eclipse.linuxtools.lttng2.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng2/stubs/dialogs/GetEventInfoDialogStub.java
new file mode 100644 (file)
index 0000000..9759733
--- /dev/null
@@ -0,0 +1,49 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.internal.lttng2.stubs.dialogs;
+
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IGetEventInfoDialog;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
+
+/**
+ * Get event information dialog stub implementation. 
+ */
+public class GetEventInfoDialogStub implements IGetEventInfoDialog {
+
+    private TraceSessionComponent[] fSessions;
+    
+    @Override
+    public TraceSessionComponent getSession() {
+        return fSessions[0];
+    }
+
+    @Override
+    public TraceChannelComponent getChannel() {
+        return null;
+    }
+
+    @Override
+    public void setIsKernel(boolean isKernel) {
+    }
+
+    @Override
+    public void setSessions(TraceSessionComponent[] sessions) {
+        fSessions = sessions;
+    }
+
+    @Override
+    public int open() {
+        return 0;
+    }
+}
+
index 3b087951cbd67a99e298b219c1147936d3f63950..121d281d456481d327828fd018fc37c916635aed 100644 (file)
@@ -50,8 +50,8 @@ UST events:
 -------------
 
 PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
-    ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)
-    ust_tests_hello:tptest (loglevel: TRACE_INFO (6)) (type: tracepoint)
+    ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
+    ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
 
 PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
     ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
@@ -61,10 +61,11 @@ PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
 </SCENARIO>
 
 ####################################################################
-# Scenario: Enable events from kernel provider events
+# Scenario: Create and destroy session
 ####################################################################
 <SCENARIO>
-Scenario1
+SessionHandling
+<SCENARIO>
 <COMMAND_INPUT>
 lttng create mysession
 </COMMAND_INPUT>
@@ -88,6 +89,87 @@ Tracing session mysession: [inactive]
 
 </COMMAND_OUTPUT>
 
+<COMMAND_INPUT>
+lttng destroy mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Session mysession destroyed.
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng start mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing started for session mysession.
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng stop mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing stopped for session mysession.
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+####################################################################
+# Scenario: Create and destroy session
+####################################################################
+<SCENARIO>
+SessionHandlingWithPath
+<SCENARIO>
+<COMMAND_INPUT>
+lttng create mysession -o /home/user/temp
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Session mysession created.
+Traces will be written in /home/user/temp
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/temp
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng destroy mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Session mysession destroyed.
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+
+####################################################################
+# Scenario: Enable events from kernel provider events
+####################################################################
+<SCENARIO>
+Scenario1
+
+
 <COMMAND_INPUT>
 lttng enable-event sched_kthread_stop,sched_kthread_stop_ret -k  -s mysession --tracepoint 
 </COMMAND_INPUT>
@@ -150,17 +232,6 @@ lttng enable-event sched_kthread_stop -k  -s mysession -c channel0 --tracepoint
 kernel event sched_kthread_stop enabled in channel channel0
 </COMMAND_OUTPUT>
 
-
-<COMMAND_INPUT>
-lttng destroy mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-Session mysession destroyed.
-</COMMAND_OUTPUT>
-
 </SCENARIO>
 
 ####################################################################
@@ -168,15 +239,15 @@ Session mysession destroyed.
 ####################################################################
 <SCENARIO>
 Scenario2
+
 <COMMAND_INPUT>
-lttng create mysession -o /home/user/temp
+lttng enable-channel mychannel -u  -s mysession --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-Session mysession created.
-Traces will be written in /home/user/temp
+UST channel mychannel enabled for session mysession
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
@@ -189,16 +260,34 @@ lttng list mysession
 Tracing session mysession: [inactive]
     Trace path: /home/user/temp
 
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 16384
+      number of subbufers: 2
+      switch timer interval: 200
+      read timer interval: 100
+      output: mmap()
+
+    Events:
+      None
+
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-channel mychannel -u  -s mysession --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
+lttng enable-event ust_tests_hello:tptest_sighandler,ust_tests_hello:tptest -u  -s mysession --tracepoint 
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-UST channel mychannel enabled for session mysession
+UST event ust_tests_hello:tptest_sighandler in channel channel0
+UST sched_ust_tests_hello:tptest created in channel channel0
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
@@ -225,20 +314,84 @@ Channels:
       read timer interval: 100
       output: mmap()
 
+    Events:
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng disable-event ust_tests_hello:tptest -u  -s mysession -c mychannel
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event ust_tests_hello:tptest in channel mychannel
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event ust_tests_hello:tptest -u  -s mysession -c mychannel --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event ust_tests_hello:tptest enabled in channel mychannel
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+<SCENARIO>
+Scenario3
+
+<COMMAND_INPUT>
+lttng enable-channel mychannel -k  -s mysession --overwrite  --subbuf-size 16384 --num-subbuf 4 --switch-timer 100 --read-timer 200
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Kernel channel mychannel enabled for session mysession
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
     Events:
       None
 
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest_sighandler,ust_tests_hello:tptest -u  -s mysession --tracepoint 
+lttng enable-channel mychannel2 -k  -s mysession --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-UST event ust_tests_hello:tptest_sighandler in channel channel0
-UST sched_ust_tests_hello:tptest created in channel channel0
+Kernel channel mychannel2 enabled for session mysession
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
@@ -249,58 +402,1784 @@ lttng list mysession
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
 Tracing session mysession: [inactive]
-    Trace path: /home/user/temp
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
 
-=== Domain: UST global ===
+=== Domain: Kernel ===
 
 Channels:
 -------------
 - mychannel: [enabled]
 
     Attributes:
-      overwrite mode: 0
+      overwrite mode: 1
       subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
       number of subbufers: 2
-      switch timer interval: 200
-      read timer interval: 100
-      output: mmap()
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
 
     Events:
-      ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint) [enabled]
-      ust_tests_hello:tptest (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint) [enabled]
+      None
 
 </COMMAND_OUTPUT>
 
+
 <COMMAND_INPUT>
-lttng disable-event ust_tests_hello:tptest -u  -s mysession -c mychannel
+lttng disable-channel mychannel,mychannel2 -k  -s mysession
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-kernel event ust_tests_hello:tptest in channel mychannel
+Kernel channel mychannel disabled for session mysession
+Kernel channel mychannel2 disabled for session mysession
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-event ust_tests_hello:tptest -u  -s mysession -c mychannel --tracepoint 
+lttng enable-channel mychannel,mychannel2 -k  -s mysession
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-kernel event ust_tests_hello:tptest enabled in channel mychannel
+Kernel channel mychannel enabled for session mysession
+Kernel channel mychannel2 enabled for session mysession
 </COMMAND_OUTPUT>
 
-
 <COMMAND_INPUT>
-lttng destroy mysession
+lttng enable-event sched_kthread_stop,sched_kthread_stop_ret -k  -s mysession --tracepoint 
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
 </COMMAND_RESULT>
 <COMMAND_OUTPUT>
-Session mysession destroyed.
+kernel event sched_kthread_stop created in channel channel0
+kernel sched_kthread_stop_ret created in channel channel0
 </COMMAND_OUTPUT>
 
-</SCENARIO>
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event sched_wakeup_new -k  -s mysession --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event sched_wakeup_new created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event  -a  -k  -s mysession -c mychannel2 --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+All kernel event sched_kthread_stop created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event  -a  -k  -s mysession -c mychannel --syscall 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+All kernel system calls are enabled in channel mychannel
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event  -a  -k  -s mysession --syscall 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+All kernel system calls are enabled in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event  -a  -k  -s mysession --syscall 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+All kernel system calls are enabled in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent1 -k  -s mysession --probe 0xc0101280
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent1 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]        
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent2 -k  -s mysession -c channel0 --probe init_post
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent2 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent3 -k  -s mysession --probe init_post:0x1000
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent2 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent3 (type: probe) [enabled]
+        offset: 0x1000
+        symbol: init_post
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent4 -k  -s mysession --function create_dev
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent4 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent4 (type: probe) [enabled]
+        offset: 0x0
+        symbol: create_dev
+      myevent3 (type: probe) [enabled]
+        offset: 0x1000
+        symbol: init_post
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent5 -k  -s mysession --function create_dev:0x2000
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent5 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent5 (type: probe) [enabled]
+        offset: 0x2000
+        symbol: create_dev
+      myevent4 (type: probe) [enabled]
+        offset: 0x0
+        symbol: create_dev
+      myevent3 (type: probe) [enabled]
+        offset: 0x1000
+        symbol: init_post
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent -k  -s mysession -c mychannel --function create_dev:0x2000
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+kernel event myevent created in channel mychannel
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent (type: probe) [enabled]
+        offset: 0x2000
+        symbol: create_dev    
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent5 (type: probe) [enabled]
+        offset: 0x2000
+        symbol: create_dev
+      myevent4 (type: probe) [enabled]
+        offset: 0x0
+        symbol: create_dev
+      myevent3 (type: probe) [enabled]
+        offset: 0x1000
+        symbol: init_post
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Available tracing sessions:
+  1) mysession (/home/eedbhu/lttng-traces/mysession-20120321-115617) [inactive]
+
+Use lttng list <session_name> for more details
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list -k
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Kernel events
+-------------
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint)
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint)
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint)
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list -u
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST events:
+-------------
+
+PID: 9379 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
+    ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
+    ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
+
+PID: 4852 - Name: /home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello
+    ust_tests_hello:tptest_sighandler (loglevel: TRACE_WARNING (4)) (type: tracepoint)
+    ust_tests_hello:tptest (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint)
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: Kernel ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent (type: probe) [enabled]
+        offset: 0x2000
+        symbol: create_dev    
+      syscalls (type: syscall) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent5 (type: probe) [enabled]
+        offset: 0x2000
+        symbol: create_dev
+      myevent4 (type: probe) [enabled]
+        offset: 0x0
+        symbol: create_dev
+      myevent3 (type: probe) [enabled]
+        offset: 0x1000
+        symbol: init_post
+      myevent2 (type: probe) [enabled]
+        offset: 0x0
+        symbol: init_post
+      myevent1 (type: probe) [enabled]
+        addr: 0xc0101280
+      syscalls (type: syscall) [enabled]
+      sched_kthread_stop_ret (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_kthread_stop (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+      sched_wakeup_new (loglevel: TRACE_EMERG (0)) (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+<SCENARIO>
+Scenario4
+
+<COMMAND_INPUT>
+lttng enable-channel mychannel -u  -s mysession --overwrite  --subbuf-size 16384 --num-subbuf 4 --switch-timer 100 --read-timer 200
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST channel mychannel enabled for session mysession
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-channel mychannel2 -u  -s mysession --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST channel mychannel2 enabled for session mysession
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event ust_tests_hello:tptest_sighandler -u  -s mysession --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event ust_tests_hello:tptest_sighandler created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event ust_tests_hello:tptest -u  -s mysession --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event ust_tests_hello:tptest created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event  -a  -u  -s mysession -c mychannel2 --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+All UST events created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      None
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event ust* -u  -s mysession -c mychannel --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event ust* created in channel mychannel
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event ust* -u  -s mysession --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event ust* created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event u* -u  -s mysession --tracepoint 
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event u* created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      u* (type: tracepoint) [enabled]
+      ust* (type: tracepoint) [enabled]
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+
+<COMMAND_INPUT>
+lttng enable-event myevent1 -u  -s mysession --loglevel TRACE_WARNING
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event myevent1 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent1 (loglevel: TRACE_WARNING (4)) (type: tracepoint) [enabled]
+      u* (type: tracepoint) [enabled]
+      ust* (type: tracepoint) [enabled]
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+      
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent2 -u  -s mysession --loglevel-only TRACE_DEBUG_FUNCTION
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event myevent2 created in channel channel0
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent2 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      myevent1 (loglevel: TRACE_WARNING (4)) (type: loglevel) [enabled]
+      u* (type: tracepoint) [enabled]
+      ust* (type: tracepoint) [enabled]
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng enable-event myevent0 -u  -s mysession -c mychannel --loglevel-only TRACE_DEBUG_FUNCTION
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST event myevent0 created in channel mychannel
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Tracing session mysession: [inactive]
+    Trace path: /home/user/lttng-traces/mysession-20120314-132824
+
+=== Domain: UST global ===
+
+Channels:
+-------------
+- mychannel: [enabled]
+
+    Attributes:
+      overwrite mode: 1
+      subbufers size: 16384
+      number of subbufers: 4
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      myevent0 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      ust* (type: tracepoint) [enabled]
+
+- mychannel2: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 32768
+      number of subbufers: 2
+      switch timer interval: 100
+      read timer interval: 200
+      output: mmap()
+
+    Events:
+      * (type: tracepoint) [enabled]
+
+- channel0: [enabled]
+
+    Attributes:
+      overwrite mode: 0
+      subbufers size: 262144
+      number of subbufers: 4
+      switch timer interval: 0
+      read timer interval: 200
+      output: splice()
+
+    Events:
+      myevent2 (loglevel: TRACE_DEBUG_FUNCTION (12)) (type: tracepoint) [enabled]
+      myevent1 (loglevel: TRACE_WARNING (4)) (type: loglevel) [enabled]
+      u* (type: tracepoint) [enabled]
+      ust* (type: tracepoint) [enabled]
+      ust_tests_hello:tptest_sighandler (type: tracepoint) [enabled]
+      ust_tests_hello:tptest (type: tracepoint) [enabled]
+
+</COMMAND_OUTPUT>
+
+
+</SCENARIO>
+
+
 
index 045c23284977af67140b5e0041560694aceef95c..21f0793a20aaf339b12ed12fc57541952a4469f9 100644 (file)
@@ -107,14 +107,14 @@ commands.control.connect=Connect
 commands.control.connect.description=Connect to Target Node
 
 commands.control.disconnect=Disconnect
-commands.control.discconnect.description=Disconnect to Target Node
+commands.control.disconnect.description=Disconnect to Target Node
 
 commands.control.refresh=Refresh
 commands.control.refresh.description=Refresh Node Configuration
 
 
 commands.control.delete=Delete
-commands.control.deleete.description=Delete Target Node
+commands.control.delete.description=Delete Target Node
 
 commands.control.create.session=Create Session
 commands.control.create.session.description=Create a Trace Session
@@ -146,5 +146,9 @@ commands.control.enable.event.description=Enable Event
 commands.control.enable.eventOnDomain=Enable Event (default channel)
 commands.control.enable.eventOnDomain.description=Enable Event on Default Channel
 
+commands.control.enable.eventOnSession=Enable Event (default channel)
+commands.control.enable.eventOnSession.description=Enable Event on Default Channel
+
+
 commands.control.disable.event=Disable Event
 commands.control.disable.event.description=Disable Event
index a078905c007bfd7c293b4d7e7eb08afec0242e68..135a71264f46b1d16e25ee08c64e69862bd937cd 100644 (file)
       <command
             categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
             description="%commands.control.enable.event.description"
-            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.event"
+            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
             name="%commands.control.enable.event">
       </command>
       <command
             categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
             description="%commands.control.disable.event.description"
-            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disable.event"
+            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
             name="%commands.control.disable.event">
       </command>
       <command
             categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
             description="%commands.control.enable.event.description"
-            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnChannel"
+            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
             name="%commands.control.enable.event">
       </command>
       <command
             categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
             description="%commands.control.enable.eventOnDomain.description"
-            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnDomain"
+            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
             name="%commands.control.enable.eventOnDomain">
       </command>
       <command
             categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
-            description="%commands.control.enable.eventOnDomain.description"
-            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnSession"
-            name="%commands.control.enable.eventOnDomain">
+            description="%commands.control.enable.eventOnSession.description"
+            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
+            name="%commands.control.enable.eventOnSession">
       </command>
       
    </extension>
             </visibleWhen>
          </command>
          <command
-               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnSession"
+               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
                icon="icons/elcl16/edit.gif"
                label="%commands.control.enable.eventOnDomain"
                style="push">
                </visibleWhen>
          </command>
          <command
-               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnDomain"
+               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
                icon="icons/elcl16/edit.gif"
                label="%commands.control.enable.eventOnDomain"
                style="push">
          </command>
 
          <command
-               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.event"
+               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
                icon="icons/elcl16/edit.gif"
                label="%commands.control.enable.event"
                style="push">
          </command>
 
          <command
-               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disable.event"
+               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
                icon="icons/elcl16/edit.gif"
                label="%commands.control.disable.event"
                style="push">
          </command>
 
          <command
-               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnChannel"
+               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
                icon="icons/elcl16/edit.gif"
                label="%commands.control.enable.event"
                style="push">
 
       <handler
             class="org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers.EnableEventHandler"
-            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.event">
+            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent">
          <activeWhen>
             <with
                   variable="selection">
 
       <handler
             class="org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers.DisableEventHandler"
-            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disable.event">
+            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent">
          <activeWhen>
             <with
                   variable="selection">
 
       <handler
             class="org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers.EnableEventOnChannelHandler"
-            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnChannel">
+            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel">
          <activeWhen>
             <with
                   variable="selection">
 
       <handler
             class="org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers.EnableEventOnDomainHandler"
-            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnDomain">
+            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain">
          <activeWhen>
             <with
                   variable="selection">
       </handler>
       <handler
             class="org.eclipse.linuxtools.internal.lttng2.ui.views.control.handlers.EnableEventOnSessionHandler"
-            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enable.eventOnSession">
+            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession">
          <activeWhen>
             <with
                   variable="selection">
index 4aedb75e9ec7b7ff42998888ad4674fcdcd8f56c..b90b25857f372ae2a405d077b80e004eb8295a2b 100644 (file)
@@ -36,9 +36,7 @@ public class DisconnectHandler extends BaseNodeHandler {
     public Object execute(ExecutionEvent event) throws ExecutionException {
         fLock.lock();
         try {
-            ITraceControlComponent root = fTargetNode.getParent();
             fTargetNode.disconnect();
-            root.removeChild(fTargetNode);
         } finally {
             fLock.unlock();
         }
This page took 0.079771 seconds and 5 git commands to generate.