//$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);
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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
*/
@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();
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
+++ /dev/null
-/**********************************************************************
- * 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
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;
// ------------------------------------------------------------------------
// 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
}
+ /**
+ * Disposes the facility (and GUI)
+ */
public void dispose() {
if (fIsInitialized) {
waitForJobs();
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) {
}
}
-
/**
* @return current control view
*/
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");
+ }
}
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";
@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();
}
assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
assertNotNull(node.getImage());
assertNotSame(connectedImage, node.getImage());
+
+ node.getParent().removeChild(node);
}
private void verifySessionGetterSetters(TraceSessionComponent session) {
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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;
+ }
+}
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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
--- /dev/null
+/**********************************************************************
+ * 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;
+ }
+}
+
-------------
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)
</SCENARIO>
####################################################################
-# Scenario: Enable events from kernel provider events
+# Scenario: Create and destroy session
####################################################################
<SCENARIO>
-Scenario1
+SessionHandling
+<SCENARIO>
<COMMAND_INPUT>
lttng create mysession
</COMMAND_INPUT>
</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>
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>
####################################################################
####################################################################
<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>
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>
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>
</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>
+
+
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
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
<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">
public Object execute(ExecutionEvent event) throws ExecutionException {
fLock.lock();
try {
- ITraceControlComponent root = fTargetNode.getParent();
fTargetNode.disconnect();
- root.removeChild(fTargetNode);
} finally {
fLock.unlock();
}