--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2015 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
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.lttng2.control.ui.swtbot.tests;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceSessionState;
+import org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ConditionHelpers;
+import org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Test for the Control view in Trace Compass. This will test the enabling
+ * of specific kernel event(s) by name.
+ *
+ * @author Bruno Roy
+ */
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class ControlViewSpecificEventTest extends ControlViewTest {
+
+ // ------------------------------------------------------------------------
+ // Constants
+ // ------------------------------------------------------------------------
+ private static final String TEST_STREAM = "CreateSessionTestLTTng2_8.cfg";
+
+ private static final String CREATE_SESSION_SPECIFIC_KERNEL_EVENT_SCENARIO_NAME = "CreateSessionSpecificKernelEvent";
+
+ private static final String SESSION_NAME = "mysession";
+
+ /**
+ * Get the test stream file name to use for the test suite
+ *
+ * @return the name of the test stream file
+ */
+ @Override
+ protected String getTestStream() {
+ return TEST_STREAM;
+ }
+
+ /**
+ * Get the session name
+ *
+ * @return the session name for this test
+ */
+ @Override
+ protected String getSessionName() {
+ return SESSION_NAME;
+ }
+
+ @Override
+ @Test
+ public void testTraceSessionTree() {
+
+ // Initialize scenario
+ fProxy.setTestFile(fTestFile);
+ fProxy.setScenario(INIT_SCENARIO_NAME);
+
+ testConnectToNode();
+
+ // Creating a session by specifying an event scenario
+ fProxy.setScenario(CREATE_SESSION_SPECIFIC_KERNEL_EVENT_SCENARIO_NAME);
+ // Create a session
+ testCreateSession();
+ // Enable an event by specifying the event type
+ testEnableSpecificKernelEvent(Arrays.asList(ControlViewSwtBotUtil.SCHED_SWITCH_EVENT_NAME), false, true);
+ // Enable multiple events by specifying the event type
+ testEnableSpecificKernelEvent(Arrays.asList(ControlViewSwtBotUtil.SCHED_WAKEUP_EVENT_NAME, ControlViewSwtBotUtil.SCHED_PROCESSWAIT_EVENT_NAME), false, true);
+ // Enable an event by specifying the event type and selection in tree (duplication of name)
+ testEnableSpecificKernelEvent(Arrays.asList(ControlViewSwtBotUtil.SCHED_PROCESSFORK_EVENT_NAME), true, true);
+ // Enable an event using the tree only
+ testEnableSpecificKernelEvent(Arrays.asList(ControlViewSwtBotUtil.SCHED_PROCESSEXEC_EVENT_NAME), true, false);
+ // Enable all events using tree. It will ignore what is written in the specific event text box.
+ testEnableSpecificKernelEvent(Arrays.asList(ControlViewSwtBotUtil.ALL_TREE_NODE), true, true);
+
+ // Start, stop tracing then destroy the session and diconnect
+ testStartStopTracing(TraceSessionState.ACTIVE);
+ testStartStopTracing(TraceSessionState.INACTIVE);
+ testDestroySession();
+ testDisconnectFromNode();
+ }
+
+ /**
+ * Test for enabling an event type by specifying its name
+ *
+ * @param events
+ * event names to enable
+ * @param selectInTree
+ * select event names also in tree
+ * Note: using All as name then all tree node is selected
+ * @param useNameField
+ * use event name field
+ *
+ */
+ private void testEnableSpecificKernelEvent(List<String> events, boolean selectInTree, boolean useNameField) {
+ SWTBotTreeItem sessionItem = SWTBotUtils.getTreeItem(fBot, fTree,
+ getNodeName(),
+ ControlViewSwtBotUtil.SESSION_GROUP_NAME,
+ getSessionName());
+
+ sessionItem.select();
+ SWTBotMenu menuBot = sessionItem.contextMenu(ControlViewSwtBotUtil.ENABLE_EVENT_DEFAULT_CHANNEL_MENU_ITEM);
+ menuBot.click();
+
+ SWTBotShell shell = fBot.shell(ControlViewSwtBotUtil.ENABLE_EVENT_DIALOG_TITLE).activate();
+
+ // Select specific event radio button in the Specific event group
+ shell.bot().radioInGroup(ControlViewSwtBotUtil.GROUP_SELECT_NAME, ControlViewSwtBotUtil.TRACEPOINTS_GROUP_NAME).click();
+
+ if (selectInTree) {
+ SWTBotTree tracepointsTree = shell.bot().tree();
+ for (String event : events) {
+ if (event.equals(ControlViewSwtBotUtil.ALL_TREE_NODE)) {
+ SWTBotTreeItem treeItem = tracepointsTree.getTreeItem(ControlViewSwtBotUtil.ALL_TREE_NODE);
+ treeItem.check();
+ break;
+ }
+ tracepointsTree.expandNode(ControlViewSwtBotUtil.ALL_TREE_NODE);
+ // select specific
+ SWTBotTreeItem treeItem = SWTBotUtils.getTreeItem(fBot, tracepointsTree, ControlViewSwtBotUtil.ALL_TREE_NODE, event);
+ treeItem.check();
+ }
+ }
+
+ // Enters the event type in the text field Event type in the Specific event group
+ if (useNameField) {
+ SWTBotText specificEventText = shell.bot().textInGroup(ControlViewSwtBotUtil.SPECIFIC_EVENT_GROUP_NAME);
+ String suffix = "";
+ StringBuffer buffer = new StringBuffer();
+ for (String event : events) {
+ buffer.append(suffix).append(event);
+ // append comma and space to test removal of space
+ suffix = ", ";
+ }
+ specificEventText.setText(buffer.toString());
+ }
+
+ // Click Ok to quit the dialog window
+ shell.bot().button(ControlViewSwtBotUtil.DIALOG_OK_BUTTON).click();
+ SWTBotUtils.waitForJobs();
+
+ // Wait until the child of Sessions is activated
+ fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(ControlViewSwtBotUtil.KERNEL_DOMAIN_NAME, sessionItem));
+
+ // Assert that the new channel name is channel0 (which is the default name)
+ SWTBotTreeItem channelItem = SWTBotUtils.getTreeItem(fBot, fTree,
+ getNodeName(),
+ ControlViewSwtBotUtil.SESSION_GROUP_NAME,
+ getSessionName(),
+ ControlViewSwtBotUtil.KERNEL_DOMAIN_NAME,
+ ControlViewSwtBotUtil.DEFAULT_CHANNEL_NAME);
+ assertEquals(ControlViewSwtBotUtil.DEFAULT_CHANNEL_NAME, channelItem.getText());
+
+ channelItem.expand();
+
+ for (String event : events) {
+ // Wait until the child of Sessions is activated
+ String eventName = event;
+ if (event.equals(ControlViewSwtBotUtil.ALL_TREE_NODE)) {
+ eventName = ControlViewSwtBotUtil.ALL_EVENTS_NAME;
+ }
+ fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(eventName, channelItem));
+ // Assert that the event type in the channel node are correct
+ SWTBotTreeItem eventItem = SWTBotUtils.getTreeItem(fBot, fTree,
+ getNodeName(),
+ ControlViewSwtBotUtil.SESSION_GROUP_NAME,
+ getSessionName(),
+ ControlViewSwtBotUtil.KERNEL_DOMAIN_NAME,
+ ControlViewSwtBotUtil.DEFAULT_CHANNEL_NAME,
+ eventName);
+ assertEquals(eventName, eventItem.getText());
+ }
+
+ }
+}
<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>destroy</name><output><sessions><session><name>mysession</name><path>/home/bernd/lttng-traces/mysession-20160422-070226</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output><success>true</success></command>
</COMMAND_OUTPUT>
</SCENARIO>
+###############################################################################
+# Enable one specific event by specifying the name
+###############################################################################
+<SCENARIO>
+CreateSessionSpecificKernelEvent
+<COMMAND_INPUT>
+lttng --mi xml create mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>create</name><output><session><name>mysession</name><path>{$workspace}/lttng-traces/mysession-20160518-135630</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>mysession</name><path>{$workspace}/lttng-traces/mysession-20160518-135630</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains/></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml enable-event sched_switch -k -s mysession --tracepoint
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>enable-event</name><output><events><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/><success>true</success></event></events></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>my</name><path>/home/bernd/lttng-traces/my-20160617-084445</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>262144</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval><discarded_events>0</discarded_events><lost_packets>0</lost_packets></attributes><events><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event></events></channel></channels></domain></domains></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml enable-event sched_wakeup,sched_process_wait -k -s mysession --tracepoint
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>enable-event</name><output><events><event><name>sched_wakeup</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/><success>true</success></event><event><name>sched_process_wait</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/><success>true</success></event></events></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>auto-20160617-082932</name><path>/home/bernd/lttng-traces/auto-20160617-082932</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>262144</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval><discarded_events>0</discarded_events><lost_packets>0</lost_packets></attributes><events><event><name>sched_process_wait</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_wakeup</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event></events></channel></channels></domain></domains></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml enable-event sched_process_fork -k -s mysession --tracepoint
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>enable-event</name><output><events><event><name>sched_process_fork</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/><success>true</success></event></events></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>auto-20160617-082932</name><path>/home/bernd/lttng-traces/auto-20160617-082932</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>262144</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval><discarded_events>0</discarded_events><lost_packets>0</lost_packets></attributes><events><event><name>sched_process_fork</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_wait</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_wakeup</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event></events></channel></channels></domain></domains></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml enable-event sched_process_exec -k -s mysession --tracepoint
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>enable-event</name><output><events><event><name>sched_process_exec</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/><success>true</success></event></events></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>auto-20160617-082932</name><path>/home/bernd/lttng-traces/auto-20160617-082932</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>262144</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval><discarded_events>0</discarded_events><lost_packets>0</lost_packets></attributes><events><event><name>sched_process_exec</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_fork</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_wait</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_wakeup</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event></events></channel></channels></domain></domains></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml enable-event -a -k -s mysession --tracepoint
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>enable-event</name><output><events><event><name>*</name><type>ALL</type><enabled>true</enabled><success>true</success></event></events></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>list</name><output><sessions><session><name>auto-20160617-082932</name><path>/home/bernd/lttng-traces/auto-20160617-082932</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval><domains><domain><type>KERNEL</type><buffer_type>GLOBAL</buffer_type><trackers/><channels><channel><name>channel0</name><enabled>true</enabled><attributes><overwrite_mode>DISCARD</overwrite_mode><subbuffer_size>262144</subbuffer_size><subbuffer_count>4</subbuffer_count><switch_timer_interval>0</switch_timer_interval><read_timer_interval>200000</read_timer_interval><output_type>SPLICE</output_type><tracefile_size>0</tracefile_size><tracefile_count>0</tracefile_count><live_timer_interval>0</live_timer_interval><discarded_events>0</discarded_events><lost_packets>0</lost_packets></attributes><events><event><name>*</name><type>SYSCALL</type><enabled>true</enabled></event><event><name>*</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_exec</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_fork</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_process_wait</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_wakeup</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event><event><name>sched_switch</name><type>TRACEPOINT</type><enabled>true</enabled><loglevel>TRACE_EMERG</loglevel><loglevel_type>ALL</loglevel_type><exclusions/></event></events></channel></channels></domain></domains></session></sessions></output></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml start mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>start</name><output><sessions><session><name>mysession</name><enabled>true</enabled></session></sessions></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml stop mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>stop</name><output><sessions><session><name>mysession</name><enabled>false</enabled></session></sessions></output><success>true</success></command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml destroy mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<?xml version="1.0" encoding="UTF-8"?>
+<command xmlns="http://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://lttng.org/xml/ns/lttng-mi http://lttng.org/xml/schemas/lttng-mi/3/lttng-mi-3.0.xsd" schemaVersion="3.0"><name>destroy</name><output><sessions><session><name>mysession</name><path>${workspace}/lttng-traces/mysession-20151201-205959</path><enabled>false</enabled><snapshot_mode>0</snapshot_mode><live_timer_interval>0</live_timer_interval></session></sessions></output><success>true</success></command>
+</COMMAND_OUTPUT>
+</SCENARIO>