lttng: Add ControlService tests for LTTng MI 3.0
authorMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Mon, 25 Apr 2016 22:24:44 +0000 (18:24 -0400)
committerMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Wed, 27 Apr 2016 00:56:12 +0000 (20:56 -0400)
The MI 3.0 schema was added but no tests were using it yet.
This patch adds tests to make use of this new protocol.

Change-Id: If31665a4bc94fd0392accda1a6eaf2382c944d47
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/71380
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/src/org/eclipse/tracecompass/lttng2/control/ui/tests/service/LTTngControlServiceMi3Test.java [new file with mode: 0644]
lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/src/org/eclipse/tracecompass/lttng2/control/ui/tests/service/LTTngControlServiceMiTest.java
lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/src/org/eclipse/tracecompass/lttng2/control/ui/tests/service/LTTngControlServiceTest.java
lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/testfiles/LTTngServiceMi3Test.cfg [new file with mode: 0644]
lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/testfiles/LTTngServiceMiTest.cfg

diff --git a/lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/src/org/eclipse/tracecompass/lttng2/control/ui/tests/service/LTTngControlServiceMi3Test.java b/lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/src/org/eclipse/tracecompass/lttng2/control/ui/tests/service/LTTngControlServiceMi3Test.java
new file mode 100644 (file)
index 0000000..b615bd6
--- /dev/null
@@ -0,0 +1,194 @@
+/******************************************************************************
+ * Copyright (c) 2016 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.tests.service;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.IChannelInfo;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.IDomainInfo;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.ISessionInfo;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceChannelOutputType;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceEnablement;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceEventType;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceLogLevel;
+import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceSessionState;
+import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.ILttngControlService;
+import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlService;
+import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlServiceFactory;
+import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlServiceMI;
+import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LttngVersion;
+import org.junit.Test;
+
+/**
+ * Tests for the MI service when using MI version 3.0
+ */
+@SuppressWarnings("javadoc")
+public class LTTngControlServiceMi3Test extends LTTngControlServiceMiTest {
+
+    private static final String MI_TEST_STREAM = "LTTngServiceMi3Test.cfg";
+
+    private static final String SCEN_GET_SESSION_FILTER_EXPRESSION = "GetSessionFilterExpression";
+    private static final String SCEN_LIST_CONTEXT_28 = "ListContext28";
+
+    @Override
+    protected ILttngControlService getControlService() {
+        try {
+            return new LTTngControlServiceMI(getShell(), new LttngVersion("2.8.0"));
+        } catch (ExecutionException e) {
+            return null;
+        }
+    }
+
+    @Override
+    protected String getTestStream() {
+        return MI_TEST_STREAM;
+    }
+
+    @Override
+    public void testVersion() {
+        try {
+            fShell.setScenario(SCEN_LTTNG_VERSION);
+            ILttngControlService service = LTTngControlServiceFactory.getLttngControlService(fShell);
+            assertNotNull(service);
+            assertEquals("2.8.0", service.getVersionString());
+        } catch (ExecutionException e) {
+            fail("Exeption thrown " + e);
+        }
+    }
+
+    @Override
+    public void testVersionWithPrompt() {
+        try {
+            fShell.setScenario(SCEN_LTTNG_VERSION_WITH_PROMPT);
+            ILttngControlService service = LTTngControlServiceFactory.getLttngControlService(fShell);
+            assertNotNull(service);
+            assertEquals("2.8.0", service.getVersionString());
+        } catch (ExecutionException e) {
+            fail("Exeption thrown " + e);
+        }
+    }
+
+    @Override
+    public void testVersionCompiled() {
+        try {
+            fShell.setScenario(SCEN_LTTNG_COMPILED_VERSION);
+            ILttngControlService service = LTTngControlServiceFactory.getLttngControlService(fShell);
+            assertNotNull(service);
+            assertEquals("2.8.0", service.getVersionString());
+        } catch (ExecutionException e) {
+            fail("Exeption thrown " + e);
+        }
+    }
+
+    @Test
+    public void testGetSessionWithFilterExpression() throws ExecutionException {
+        fShell.setScenario(SCEN_GET_SESSION_FILTER_EXPRESSION);
+        ISessionInfo session = fService.getSession("mysession", new NullProgressMonitor());
+
+        // Verify Session
+        assertNotNull(session);
+        assertEquals("mysession", session.getName());
+        assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
+        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
+
+        IDomainInfo[] domains = session.getDomains();
+        assertNotNull(domains);
+        assertEquals(2, domains.length);
+
+        // Verify Kernel domain
+        assertEquals("Kernel", domains[0].getName());
+        IChannelInfo[] channels =  domains[0].getChannels();
+        assertNotNull(channels);
+        assertEquals(1, channels.length);
+
+        // Verify Kernel's channel0
+        assertEquals("channel0", channels[0].getName());
+        assertEquals(4, channels[0].getNumberOfSubBuffers());
+        assertEquals("splice()", channels[0].getOutputType().getInName());
+        assertEquals(TraceChannelOutputType.SPLICE, channels[0].getOutputType());
+        assertEquals(false, channels[0].isOverwriteMode());
+        assertEquals(200, channels[0].getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, channels[0].getState());
+        assertEquals(262144, channels[0].getSubBufferSize());
+        assertEquals(0, channels[0].getSwitchTimer());
+
+        // Verify event info
+        IEventInfo[] channel0Events = channels[0].getEvents();
+        assertNotNull(channel0Events);
+        assertEquals(1, channel0Events.length);
+        assertEquals("block_rq_remap", channel0Events[0].getName());
+        assertEquals(TraceLogLevel.TRACE_EMERG, channel0Events[0].getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, channel0Events[0].getEventType());
+        assertEquals(TraceEnablement.ENABLED, channel0Events[0].getState());
+        assertEquals("foo > 10", channel0Events[0].getFilterExpression());
+
+        // Verify domain UST global
+        assertEquals("UST global", domains[1].getName());
+
+        IChannelInfo[] ustChannels =  domains[1].getChannels();
+
+        // Verify UST global's channel0
+        assertEquals("channel0", ustChannels[0].getName());
+        assertEquals(4, ustChannels[0].getNumberOfSubBuffers());
+        assertEquals("mmap()", ustChannels[0].getOutputType().getInName());
+        assertEquals(TraceChannelOutputType.MMAP, ustChannels[0].getOutputType());
+        assertEquals(false, ustChannels[0].isOverwriteMode());
+        assertEquals(200, ustChannels[0].getReadTimer());
+        assertEquals(TraceEnablement.ENABLED, ustChannels[0].getState());
+        assertEquals(4096, ustChannels[0].getSubBufferSize());
+        assertEquals(0, ustChannels[0].getSwitchTimer());
+
+        // Verify event info
+        IEventInfo[] ustEvents = ustChannels[0].getEvents();
+        assertEquals(1, ustEvents.length);
+
+        assertEquals("ust_tests_hello:tptest_sighandler", ustEvents[0].getName());
+        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, ustEvents[0].getLogLevel());
+        assertEquals(TraceEventType.TRACEPOINT, ustEvents[0].getEventType());
+        assertEquals(TraceEnablement.DISABLED, ustEvents[0].getState());
+        assertEquals("foo > 10", ustEvents[0].getFilterExpression());
+    }
+
+    @Test
+    public void testListContext28() throws ExecutionException {
+        ((LTTngControlService)fService).setVersion("2.8.0");
+        fShell.setScenario(SCEN_LIST_CONTEXT_28);
+
+        List<String> availContexts = fService.getContextList(new NullProgressMonitor());
+        assertNotNull(availContexts);
+        assertEquals(12, availContexts.size());
+
+        Set<String> expectedContexts = new HashSet<>();
+        expectedContexts.add("pid");
+        expectedContexts.add("procname");
+        expectedContexts.add("prio");
+        expectedContexts.add("nice");
+        expectedContexts.add("vpid");
+        expectedContexts.add("tid");
+        expectedContexts.add("pthread_id");
+        expectedContexts.add("vtid");
+        expectedContexts.add("ppid");
+        expectedContexts.add("vppid");
+        expectedContexts.add("perf:cpu:cpu-cycles");
+        expectedContexts.add("perf:cpu:cycles");
+
+        assertTrue(expectedContexts.containsAll(availContexts));
+    }
+}
index 01abe382543665800029408b3f9446400fb1fa72..4fb1365d21a0b1a074145ed4999a4b31a34b872e 100644 (file)
@@ -17,9 +17,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.runtime.NullProgressMonitor;
@@ -35,7 +33,6 @@ import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceLogLevel
 import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceSessionState;
 import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.SessionInfo;
 import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.ILttngControlService;
-import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlService;
 import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlServiceMI;
 import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LttngVersion;
 import org.junit.Ignore;
@@ -45,15 +42,12 @@ import org.junit.Test;
  * @author ejorajo
  *
  */
-@SuppressWarnings("javadoc")
 public class LTTngControlServiceMiTest extends LTTngControlServiceTest {
 
     private static final String MI_TEST_STREAM = "LTTngServiceMiTest.cfg";
 
     private static final String SCEN_SESSION_WITH_SYSCALLS = "GetSessionWithSyscalls";
     private static final String SCEN_LIST_SESSION_2_7_COMPAT = "ListSession2.7Compat";
-    private static final String SCEN_GET_SESSION_FILTER_EXPRESSION = "GetSessionFilterExpression";
-    private static final String SCEN_LIST_CONTEXT_28 = "ListContext28";
 
     @Override
     protected ILttngControlService getControlService() {
@@ -160,32 +154,6 @@ public class LTTngControlServiceMiTest extends LTTngControlServiceTest {
         // is wrong for 2.6.
     }
 
-    @Test
-    public void testListContext28() throws ExecutionException {
-        ((LTTngControlService)fService).setVersion("2.8.0");
-        fShell.setScenario(SCEN_LIST_CONTEXT_28);
-
-        List<String> availContexts = fService.getContextList(new NullProgressMonitor());
-        assertNotNull(availContexts);
-        assertEquals(12, availContexts.size());
-
-        Set<String> expectedContexts = new HashSet<>();
-        expectedContexts.add("pid");
-        expectedContexts.add("procname");
-        expectedContexts.add("prio");
-        expectedContexts.add("nice");
-        expectedContexts.add("vpid");
-        expectedContexts.add("tid");
-        expectedContexts.add("pthread_id");
-        expectedContexts.add("vtid");
-        expectedContexts.add("ppid");
-        expectedContexts.add("vppid");
-        expectedContexts.add("perf:cpu:cpu-cycles");
-        expectedContexts.add("perf:cpu:cycles");
-
-        assertTrue(expectedContexts.containsAll(availContexts));
-    }
-
     @Override
     public void testCreateSnapshotSession2_5() {
         // not applicable for MI
@@ -336,76 +304,4 @@ public class LTTngControlServiceMiTest extends LTTngControlServiceTest {
             fail(e.toString());
         }
     }
-
-    @Test
-    public void testGetSessionWithFilterExpression() throws ExecutionException {
-        // FIXME: Disable scheme validation for now until MI 3.0 is integrated
-        LTTngControlServiceMI service = new LTTngControlServiceMI(getShell(), null);
-
-        fShell.setScenario(SCEN_GET_SESSION_FILTER_EXPRESSION);
-        ISessionInfo session = service.getSession("mysession", new NullProgressMonitor());
-
-        // Verify Session
-        assertNotNull(session);
-        assertEquals("mysession", session.getName());
-        assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
-        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
-
-        IDomainInfo[] domains = session.getDomains();
-        assertNotNull(domains);
-        assertEquals(2, domains.length);
-
-        // Verify Kernel domain
-        assertEquals("Kernel", domains[0].getName());
-        IChannelInfo[] channels =  domains[0].getChannels();
-        assertNotNull(channels);
-        assertEquals(1, channels.length);
-
-        // Verify Kernel's channel0
-        assertEquals("channel0", channels[0].getName());
-        assertEquals(4, channels[0].getNumberOfSubBuffers());
-        assertEquals("splice()", channels[0].getOutputType().getInName());
-        assertEquals(TraceChannelOutputType.SPLICE, channels[0].getOutputType());
-        assertEquals(false, channels[0].isOverwriteMode());
-        assertEquals(200, channels[0].getReadTimer());
-        assertEquals(TraceEnablement.ENABLED, channels[0].getState());
-        assertEquals(262144, channels[0].getSubBufferSize());
-        assertEquals(0, channels[0].getSwitchTimer());
-
-        // Verify event info
-        IEventInfo[] channel0Events = channels[0].getEvents();
-        assertNotNull(channel0Events);
-        assertEquals(1, channel0Events.length);
-        assertEquals("block_rq_remap", channel0Events[0].getName());
-        assertEquals(TraceLogLevel.TRACE_EMERG, channel0Events[0].getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, channel0Events[0].getEventType());
-        assertEquals(TraceEnablement.ENABLED, channel0Events[0].getState());
-        assertEquals("foo > 10", channel0Events[0].getFilterExpression());
-
-        // Verify domain UST global
-        assertEquals("UST global", domains[1].getName());
-
-        IChannelInfo[] ustChannels =  domains[1].getChannels();
-
-        // Verify UST global's channel0
-        assertEquals("channel0", ustChannels[0].getName());
-        assertEquals(4, ustChannels[0].getNumberOfSubBuffers());
-        assertEquals("mmap()", ustChannels[0].getOutputType().getInName());
-        assertEquals(TraceChannelOutputType.MMAP, ustChannels[0].getOutputType());
-        assertEquals(false, ustChannels[0].isOverwriteMode());
-        assertEquals(200, ustChannels[0].getReadTimer());
-        assertEquals(TraceEnablement.ENABLED, ustChannels[0].getState());
-        assertEquals(4096, ustChannels[0].getSubBufferSize());
-        assertEquals(0, ustChannels[0].getSwitchTimer());
-
-        // Verify event info
-        IEventInfo[] ustEvents = ustChannels[0].getEvents();
-        assertEquals(1, ustEvents.length);
-
-        assertEquals("ust_tests_hello:tptest_sighandler", ustEvents[0].getName());
-        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, ustEvents[0].getLogLevel());
-        assertEquals(TraceEventType.TRACEPOINT, ustEvents[0].getEventType());
-        assertEquals(TraceEnablement.DISABLED, ustEvents[0].getState());
-        assertEquals("foo > 10", ustEvents[0].getFilterExpression());
-    }
 }
index 07194ef60aba97cc2293ee2ee3890be5b0de619a..17273b4b3995755c1aa0ffbc08f1c063104e46e4 100644 (file)
@@ -73,11 +73,11 @@ public class LTTngControlServiceTest {
     private static final String TEST_STREAM = "LTTngServiceTest.cfg";
 
     private static final String SCEN_LTTNG_NOT_INSTALLED = "LttngNotInstalled";
-    private static final String SCEN_LTTNG_VERSION = "LttngVersion";
-    private static final String SCEN_LTTNG_VERSION_WITH_PROMPT = "LttngVersionWithPrompt";
+    protected static final String SCEN_LTTNG_VERSION = "LttngVersion";
+    protected static final String SCEN_LTTNG_VERSION_WITH_PROMPT = "LttngVersionWithPrompt";
     private static final String SCEN_LTTNG_UNSUPPORTED_VERSION = "LttngUnsupportedVersion";
     private static final String SCEN_LTTNG_NO_VERSION = "LttngNoVersion";
-    private static final String SCEN_LTTNG_COMPILED_VERSION = "LttngVersionCompiled";
+    protected static final String SCEN_LTTNG_COMPILED_VERSION = "LttngVersionCompiled";
     private static final String SCEN_NO_SESSION_AVAILABLE = "NoSessionAvailable";
     private static final String SCEN_GET_SESSION_NAMES1 = "GetSessionNames1";
     private static final String SCEN_GET_SESSION_WITH_GROUP = "GetSessionWithTracingGroup";
diff --git a/lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/testfiles/LTTngServiceMi3Test.cfg b/lttng/org.eclipse.tracecompass.lttng2.control.ui.tests/testfiles/LTTngServiceMi3Test.cfg
new file mode 100644 (file)
index 0000000..bee5051
--- /dev/null
@@ -0,0 +1,2803 @@
+####################################################################
+# Copyright (c) 2014, 2016 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:
+#    Jonathan Rajotte - Initial API and implementation
+#    Bernd Hufmann - Added new test cases
+#    Marc-Andre Laperle - Adapted to MI 3.0 (LTTng 2.8)
+####################################################################
+####################################################################
+# Scenario: Test lttng not installed
+####################################################################
+<SCENARIO>
+LttngNotInstalled
+<COMMAND_INPUT>
+lttng --mi xml list
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+Command not found
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng version
+####################################################################
+<SCENARIO>
+LttngVersion
+<COMMAND_INPUT>
+lttng version
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+lttng version 2.8.0 - Isseki Nicho
+Web site: http://lttng.org
+
+lttng is free software and under the GPL license and part LGPL
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng version
+# output with prompt
+####################################################################
+<SCENARIO>
+LttngVersionWithPrompt
+<COMMAND_INPUT>
+lttng version
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Prompt> lttng version 2.8.0 - Isseki Nicho
+Web site: http://lttng.org
+
+lttng is free software and under the GPL license and part LGPL
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng version (unsupported version)
+####################################################################
+<SCENARIO>
+LttngUnsupportedVersion
+<COMMAND_INPUT>
+lttng version
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+lttng version 200.0.0 - Annedd'ale
+Web site: http://lttng.org/
+
+lttng is free software and under the GPL license and part LGPL
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+
+####################################################################
+# Scenario: Test lttng version (noversion)
+####################################################################
+<SCENARIO>
+LttngNoVersion
+<COMMAND_INPUT>
+lttng version
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Web site: http://lttng.org/
+
+lttng is free software and under the GPL license and part LGPL
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng version (compiled from source)
+####################################################################
+<SCENARIO>
+LttngVersionCompiled
+<COMMAND_INPUT>
+lttng --mi xml version
+</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>version</name>
+  <output>
+    <version>
+      <string>2.8.0-rc1</string>
+      <major>2</major>
+      <minor>8</minor>
+      <commit>v2.8.0-rc1-29-g55b4b79</commit>
+      <patchLevel>0</patchLevel>
+      <name>Isseki Nicho</name>
+      <description>The result of a collaboration between "Dieu du Ciel!" and Nagano-based "Shiga Kogen", Isseki Nicho is a strong Imperial Dark Saison offering a rich roasted malt flavor combined with a complex fruity finish typical of Saison yeasts.</description>
+      <url>https://lttng.org</url>
+      <license>lttng is free software and under the GPL license and part LGPL</license>
+    </version>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test no sessions available
+####################################################################
+<SCENARIO>
+NoSessionAvailable
+<COMMAND_INPUT>
+lttng --mi xml list
+</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/></output></command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test get sessions
+####################################################################
+<SCENARIO>
+GetSessionNames1
+<COMMAND_INPUT>
+lttng --mi xml list
+</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>mysession1</name>
+        <path>home/user/lttng-traces/mysession1-20120123-083928</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+      </session>
+      <session>
+        <name>mysession</name>
+        <path>home/user/lttng-traces/mysession-20120123-083318</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test get sessions with tracing group
+####################################################################
+<SCENARIO>
+GetSessionWithTracingGroup
+<COMMAND_INPUT>
+lttng -g group --mi xml list
+</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>mysession1</name>
+        <path>home/user/lttng-traces/mysession1-20120123-083928</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+      </session>
+      <session>
+        <name>mysession</name>
+        <path>home/user/lttng-traces/mysession-20120123-083318</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+
+####################################################################
+# Scenario: Test lttng list <name> where session doesn't exist
+####################################################################
+<SCENARIO>
+GetSessionNameNotExist
+<COMMAND_INPUT>
+lttng --mi xml list test
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/></output></command>
+<COMMAND_ERROR_OUTPUT>
+Error: Session 'test' not found
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng -vvv list <name> where session doesn't exist
+####################################################################
+<SCENARIO>
+GetSessionNameNotExistVerbose
+<COMMAND_INPUT>
+lttng --mi xml -vvv list test
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/></output></command>
+<COMMAND_ERROR_OUTPUT>
+Error: Session 'test' not found
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng list with garbage output
+####################################################################
+<SCENARIO>
+GetSessionGarbageOut
+<COMMAND_INPUT>
+lttng --mi xml list
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+asdfaereafsdcv 12333456434&*89**(())(^%$*
+@#$%^&*()@#$%^&*()0834523094578kj;djkfs
+a;sdf094v5u dsafj;sd9
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng list <name> with sample outputs
+####################################################################
+<SCENARIO>
+GetSession1
+<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>/home/user/lttng-traces/mysession-20120129-084256</path>
+        <enabled>true</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+        <domains>
+          <domain>
+            <type>KERNEL</type>
+            <buffer_type>PER_PID</buffer_type>
+            <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>200</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>
+                </attributes>
+                <events>
+                  <event>
+                    <name>block_rq_remap</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>true</enabled>
+                    <loglevel>TRACE_EMERG</loglevel>
+                    <loglevel_type>ALL</loglevel_type>
+                  </event>
+                  <event>
+                    <name>block_bio_remap</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>false</enabled>
+                    <loglevel>TRACE_EMERG</loglevel>
+                    <loglevel_type>ALL</loglevel_type>
+                  </event>
+                </events>
+              </channel>
+              <channel>
+                <name>channel1</name>
+                <enabled>false</enabled>
+                <attributes>
+                  <overwrite_mode>OVERWRITE</overwrite_mode>
+                  <subbuffer_size>524288</subbuffer_size>
+                  <subbuffer_count>4</subbuffer_count>
+                  <switch_timer_interval>100</switch_timer_interval>
+                  <read_timer_interval>400</read_timer_interval>
+                  <output_type>SPLICE</output_type>
+                  <tracefile_size>0</tracefile_size>
+                  <tracefile_count>0</tracefile_count>
+                  <live_timer_interval>4294967295</live_timer_interval>
+                </attributes>
+                <events/>
+              </channel>
+            </channels>
+          </domain>
+          <domain>
+            <type>UST</type>
+            <buffer_type>PER_UID</buffer_type>
+            <channels>
+              <channel>
+                <name>mychannel1</name>
+                <enabled>false</enabled>
+                <attributes>
+                  <overwrite_mode>OVERWRITE</overwrite_mode>
+                  <subbuffer_size>8192</subbuffer_size>
+                  <subbuffer_count>8</subbuffer_count>
+                  <switch_timer_interval>200</switch_timer_interval>
+                  <read_timer_interval>100</read_timer_interval>
+                  <output_type>MMAP</output_type>
+                  <tracefile_size>0</tracefile_size>
+                  <tracefile_count>0</tracefile_count>
+                  <live_timer_interval>0</live_timer_interval>
+                </attributes>
+                <events/>
+              </channel>
+              <channel>
+                <name>channel0</name>
+                <enabled>true</enabled>
+                <attributes>
+                  <overwrite_mode>DISCARD</overwrite_mode>
+                  <subbuffer_size>4096</subbuffer_size>
+                  <subbuffer_count>4</subbuffer_count>
+                  <switch_timer_interval>0</switch_timer_interval>
+                  <read_timer_interval>200</read_timer_interval>
+                  <output_type>MMAP</output_type>
+                  <tracefile_size>0</tracefile_size>
+                  <tracefile_count>0</tracefile_count>
+                  <live_timer_interval>0</live_timer_interval>
+                </attributes>
+                <events>
+                  <event>
+                    <name>ust_tests_hello:tptest_sighandler</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>false</enabled>
+                    <loglevel>TRACE_DEBUG_LINE</loglevel>
+                    <loglevel_type>ALL</loglevel_type>
+                  </event>
+                  <event>
+                    <name>*</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>true</enabled>
+                  </event>
+                </events>
+              </channel>
+            </channels>
+          </domain>
+        </domains>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+<COMMAND_INPUT>
+lttng --mi xml list mysession1
+</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>mysession1</name>
+        <path>/home/user/lttng-traces/mysession1-20120203-133225</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+        <domains/>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng list <name> in the presence of filter expressions
+####################################################################
+<SCENARIO>
+GetSessionFilterExpression
+<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>/home/user/lttng-traces/mysession-20120129-084256</path>
+        <enabled>true</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+        <domains>
+          <domain>
+            <type>KERNEL</type>
+            <buffer_type>PER_PID</buffer_type>
+            <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>200</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>
+                </attributes>
+                <events>
+                  <event>
+                    <name>block_rq_remap</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>true</enabled>
+                    <filter_expression>foo &gt; 10</filter_expression>
+                    <loglevel>TRACE_EMERG</loglevel>
+                    <loglevel_type>ALL</loglevel_type>
+                  </event>
+                </events>
+              </channel>
+            </channels>
+          </domain>
+          <domain>
+            <type>UST</type>
+            <buffer_type>PER_UID</buffer_type>
+            <channels>
+              <channel>
+                <name>channel0</name>
+                <enabled>true</enabled>
+                <attributes>
+                  <overwrite_mode>DISCARD</overwrite_mode>
+                  <subbuffer_size>4096</subbuffer_size>
+                  <subbuffer_count>4</subbuffer_count>
+                  <switch_timer_interval>0</switch_timer_interval>
+                  <read_timer_interval>200</read_timer_interval>
+                  <output_type>MMAP</output_type>
+                  <tracefile_size>0</tracefile_size>
+                  <tracefile_count>0</tracefile_count>
+                  <live_timer_interval>0</live_timer_interval>
+                </attributes>
+                <events>
+                  <event>
+                    <name>ust_tests_hello:tptest_sighandler</name>
+                    <type>TRACEPOINT</type>
+                    <enabled>false</enabled>
+                    <filter_expression>foo &gt; 10</filter_expression>
+                    <loglevel>TRACE_DEBUG_LINE</loglevel>
+                    <loglevel_type>ALL</loglevel_type>
+                  </event>
+                </events>
+              </channel>
+            </channels>
+          </domain>
+        </domains>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test lttng list <name> (with live time interval)
+####################################################################
+<SCENARIO>
+GetSessionWithLiveInterval
+<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>/home/user/lttng-traces/mysession-20120129-084256</path>
+        <enabled>false</enabled>
+        <snapshot_mode>1</snapshot_mode>
+        <live_timer_interval>4294967295</live_timer_interval>
+        <domains>
+        </domains>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot list-output -s 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>snapshot</name>
+  <output>
+    <snapshot_action>
+      <name>list-output</name>
+      <output>
+        <session>
+          <name>mysession</name>
+          <snapshots>
+            <snapshot>
+              <id>1</id>
+              <name>snapshot-1</name>
+              <ctrl_url>/home/user/lttng-traces/mysession-20120129-084256</ctrl_url>
+              <data_url/>
+              <max_size>0</max_size>
+            </snapshot>
+          </snapshots>
+        </session>
+      </output>
+    </snapshot_action>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml list mysession1
+</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>mysession1</name>
+        <path>/home/user/lttng-traces/mysession1-20120129-084256</path>
+        <enabled>true</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 list mysession2
+</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>mysession2</name>
+        <path>tcp4://172.0.0.1:5342/ [data: 5343]</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>1000000</live_timer_interval>
+        <domains/>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+
+####################################################################
+# Scenario: Test "lttng list -k" with sample output
+####################################################################
+<SCENARIO>
+GetKernelProvider1
+<COMMAND_INPUT>
+lttng --mi xml list -k
+</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>
+    <domains>
+      <domain>
+        <type>KERNEL</type>
+        <buffer_type>PER_PID</buffer_type>
+        <events>
+          <event>
+            <name>sched_kthread_stop</name>
+            <type>TRACEPOINT</type>
+            <enabled>true</enabled>
+            <loglevel>TRACE_EMERG</loglevel>
+            <loglevel_type>ALL</loglevel_type>
+          </event>
+          <event>
+            <name>sched_kthread_stop_ret</name>
+            <type>TRACEPOINT</type>
+            <enabled>true</enabled>
+            <loglevel>TRACE_EMERG</loglevel>
+            <loglevel_type>ALL</loglevel_type>
+          </event>
+          <event>
+            <name>sched_wakeup_new</name>
+            <type>TRACEPOINT</type>
+            <enabled>true</enabled>
+            <loglevel>TRACE_EMERG</loglevel>
+            <loglevel_type>ALL</loglevel_type>
+          </event>
+       </events>
+      </domain>
+    </domains>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -k" with no kernel and no session daemon
+####################################################################
+<SCENARIO>
+ListWithNoKernel1
+<COMMAND_INPUT>
+lttng --mi xml list -k
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Spawning session daemon
+<COMMAND_ERROR_OUTPUT>
+Error: Unable to list kernel events
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -k" with no kernel and with session daemon
+####################################################################
+<SCENARIO>
+ListWithNoKernel2
+<COMMAND_INPUT>
+lttng --mi xml list -k
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+Error: Unable to list kernel events
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -u" with sample output
+####################################################################
+<SCENARIO>
+GetUstProvider1
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</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>
+    <domains>
+      <domain>
+        <type>UST</type>
+        <buffer_type>PER_PID</buffer_type>
+        <pids>
+          <pid>
+            <id>9379</id>
+            <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
+            <events>
+              <event>
+                <name>ust_tests_hello:tptest_sighandler</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_DEBUG_MODULE</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields/>
+              </event>
+              <event>
+                <name>ust_tests_hello:tptest</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_INFO</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields>
+                  <event_field>
+                    <name>doublefield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>floatfield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>stringfield</name>
+                    <type>STRING</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                </event_fields>
+              </event>
+            </events>
+          </pid>
+          <pid>
+            <id>4852</id>
+            <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
+            <events>
+              <event>
+                <name>ust_tests_hello:tptest_sighandler</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_WARNING</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields/>
+              </event>
+              <event>
+                <name>ust_tests_hello:tptest</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields>
+                  <event_field>
+                    <name>doublefield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>floatfield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>stringfield</name>
+                    <type>STRING</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                </event_fields>
+              </event>
+            </events>
+          </pid>
+        </pids>
+      </domain>
+    </domains>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -u" with no UST provider available
+####################################################################
+<SCENARIO>
+GetUstProvider2
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</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>
+    <domains>
+      <domain>
+        <type>UST</type>
+        <buffer_type>PER_PID</buffer_type>
+        <pids/>
+      </domain>
+    </domains>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -u" with no UST available (LTTng 2.0.x)
+####################################################################
+<SCENARIO>
+ListWithNoUst1
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/></command>
+<COMMAND_ERROR_OUTPUT>
+Error: Unable to list UST event fields: LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled.
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+####################################################################
+# Scenario: Test "lttng list -u" with no UST available and no session daemon
+####################################################################
+<SCENARIO>
+ListWithNoUst2
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/></command>
+<COMMAND_ERROR_OUTPUT>
+Error: Unable to list UST event fields: LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled.
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+####################################################################
+# Scenario: Test "lttng list -" with no kernel and with session daemon
+####################################################################
+<SCENARIO>
+ListWithNoUst3
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/></command>
+<COMMAND_ERROR_OUTPUT>
+Error: Unable to list kernel events: Tracing the kernel requires a root lttng-sessiond daemon, as well as "tracing" group membership or root user ID for the lttng client.
+Error: Command Error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list -u -f" with sample output (version 2.6.0)
+####################################################################
+<SCENARIO>
+GetUstProvider3
+<COMMAND_INPUT>
+lttng --mi xml list -u -f
+</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>
+    <domains>
+      <domain>
+        <type>UST</type>
+        <buffer_type>PER_PID</buffer_type>
+        <pids>
+          <pid>
+            <id>9379</id>
+            <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
+            <events>
+              <event>
+                <name>ust_tests_hello:tptest_sighandler</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_DEBUG_MODULE</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields/>
+              </event>
+              <event>
+                <name>ust_tests_hello:tptest</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_INFO</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields>
+                  <event_field>
+                    <name>doublefield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>floatfield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>stringfield</name>
+                    <type>STRING</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                </event_fields>
+              </event>
+            </events>
+          </pid>
+          <pid>
+            <id>4852</id>
+            <name>/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello</name>
+            <events>
+              <event>
+                <name>ust_tests_hello:tptest_sighandler</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_WARNING</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields/>
+              </event>
+              <event>
+                <name>ust_tests_hello:tptest</name>
+                <type>TRACEPOINT</type>
+                <enabled>true</enabled>
+                <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
+                <loglevel_type>ALL</loglevel_type>
+                <event_fields>
+                  <event_field>
+                    <name>doublefield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>floatfield</name>
+                    <type>FLOAT</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                  <event_field>
+                    <name>stringfield</name>
+                    <type>STRING</type>
+                    <nowrite>0</nowrite>
+                  </event_field>
+                </event_fields>
+              </event>
+            </events>
+          </pid>
+        </pids>
+      </domain>
+    </domains>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+####################################################################
+# Scenario: Test "lttng create <session>
+####################################################################
+<SCENARIO>
+CreateSession1
+<COMMAND_INPUT>
+lttng --mi xml create mysession2
+</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>mysession2</name>
+      <path>/home/user/lttng-traces/mysession2-20120209-095418</path>
+      <enabled>false</enabled>
+      <snapshot_mode>0</snapshot_mode>
+      <live_timer_interval>0</live_timer_interval>
+    </session>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng create <session>
+####################################################################
+<SCENARIO>
+CreateSessionWithPrompt
+<COMMAND_INPUT>
+lttng --mi xml create mysession2
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Prompt> Session mysession2 created.
+Traces will be written in /home/user/lttng-traces/mysession2-20120209-095418
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng create <session> with different variants
+# and errors
+####################################################################
+<SCENARIO>
+CreateSessionVariants
+<COMMAND_INPUT>
+lttng --mi xml create alreadyExist
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</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/>
+  <success>false</success>
+</command>
+<COMMAND_ERROR_OUTPUT>
+Warning: Session mysession2 already exists
+Error: Session name already exists
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml create session with spaces
+</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>session with spaces</name>
+      <path>/home/user/lttng-traces/session with spaces-20120209-095418</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 create wrongName
+</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>auto</name>
+      <path>/home/user/lttng-traces/auto-20120209-095418</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 create wrongPath -o /home/user/hallo
+</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>wrongPath</name>
+      <path>/home/user/lttng-traces/wrongPath-20120209-095418</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 create pathWithSpaces -o /home/user/hallo user/here
+</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>pathWithSpaces</name>
+      <path>/home/user/hallo user/here/pathWithSpaces-20120209-095418</path>
+      <enabled>false</enabled>
+      <snapshot_mode>0</snapshot_mode>
+      <live_timer_interval>0</live_timer_interval>
+    </session>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng destroy <session>
+####################################################################
+
+<SCENARIO>
+DestroySession1
+<COMMAND_INPUT>
+lttng --mi xml destroy mysession2
+</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>mysession2</name>
+        <path>/home/user/lttng-traces/mysession2-20140812-160632</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>
+
+####################################################################
+# Scenario: Test "lttng enable-channel ..." with different inputs
+####################################################################
+
+<SCENARIO>
+ChannelHandling
+<COMMAND_INPUT>
+lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100 -C 0 -W 10
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Kernel channel mychannel0 enabled for session mysession2
+Kernel channel mychannel1 enabled for session mysession2
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2 --overwrite --subbuf-size 16384 --num-subbuf 2 --switch-timer 200 --read-timer 100
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>mychannel0</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>OVERWRITE</overwrite_mode>
+          <subbuffer_size>16384</subbuffer_size>
+          <subbuffer_count>2</subbuffer_count>
+          <switch_timer_interval>200</switch_timer_interval>
+          <read_timer_interval>100</read_timer_interval>
+          <output_type>SPLICE</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+      <channel>
+        <name>mychannel1</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>OVERWRITE</overwrite_mode>
+          <subbuffer_size>16384</subbuffer_size>
+          <subbuffer_count>2</subbuffer_count>
+          <switch_timer_interval>200</switch_timer_interval>
+          <read_timer_interval>100</read_timer_interval>
+          <output_type>SPLICE</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 -C 0 -W 20
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST channel channel0 enabled for session mysession2
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>ustChannel</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>OVERWRITE</overwrite_mode>
+          <subbuffer_size>32768</subbuffer_size>
+          <subbuffer_count>2</subbuffer_count>
+          <switch_timer_interval>100</switch_timer_interval>
+          <read_timer_interval>200</read_timer_interval>
+          <output_type>MMAP</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 1 --switch-timer 100 --read-timer 200 --buffers-uid -C 0 -W 20
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST channel channel0 enabled for session mysession2
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --buffers-pid
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>ustChannel</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>OVERWRITE</overwrite_mode>
+          <subbuffer_size>4096</subbuffer_size>
+          <subbuffer_count>4</subbuffer_count>
+          <switch_timer_interval>0</switch_timer_interval>
+          <read_timer_interval>0</read_timer_interval>
+          <output_type>MMAP</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2 --overwrite --subbuf-size 32768 --num-subbuf 2 --switch-timer 100 --read-timer 200 --buffers-uid
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>ustChannel</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>OVERWRITE</overwrite_mode>
+          <subbuffer_size>32768</subbuffer_size>
+          <subbuffer_count>2</subbuffer_count>
+          <switch_timer_interval>100</switch_timer_interval>
+          <read_timer_interval>200</read_timer_interval>
+          <output_type>MMAP</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel mychannel0,mychannel1 -k -s mysession2
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>mychannel0</name>
+        <enabled>false</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>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+      <channel>
+        <name>mychannel1</name>
+        <enabled>false</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>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-channel ustChannel -u -s mysession2
+</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-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>ustChannel</name>
+        <enabled>false</enabled>
+        <attributes>
+          <overwrite_mode>DISCARD</overwrite_mode>
+          <subbuffer_size>131072</subbuffer_size>
+          <subbuffer_count>4</subbuffer_count>
+          <switch_timer_interval>0</switch_timer_interval>
+          <read_timer_interval>0</read_timer_interval>
+          <output_type>MMAP</output_type>
+          <tracefile_size>0</tracefile_size>
+          <tracefile_count>0</tracefile_count>
+          <live_timer_interval>4294967295</live_timer_interval>
+        </attributes>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml disable-channel mychannel0,mychannel1 -k -s mysession2
+</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>disable-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>mychannel0</name>
+        <enabled>false</enabled>
+        <success>true</success>
+      </channel>
+      <channel>
+        <name>mychannel1</name>
+        <enabled>false</enabled>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml disable-channel ustChannel -u -s mysession2
+</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>disable-channel</name>
+  <output>
+    <channels>
+      <channel>
+        <name>ustChannel</name>
+        <enabled>false</enabled>
+        <success>true</success>
+      </channel>
+    </channels>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+
+####################################################################
+# Scenario: Test "lttng --mi xml enable-events ..." with different inputs
+####################################################################
+<SCENARIO>
+EventHandling
+
+# Tracepoint test cases
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event block_rq_remap,block_bio_remap,softirq_entry -k -s mysession2 --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>block_rq_remap</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_EMERG</loglevel>
+        <loglevel_type>ALL</loglevel_type>
+        <success>true</success>
+      </event>
+      <event>
+        <name>block_bio_remap</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_EMERG</loglevel>
+        <loglevel_type>ALL</loglevel_type>
+        <success>true</success>
+      </event>
+      <event>
+        <name>softirq_entry</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_EMERG</loglevel>
+        <loglevel_type>ALL</loglevel_type>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event -a -k -s mysession2 -c mychannel --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>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_EMERG</loglevel>
+        <loglevel_type>ALL</loglevel_type>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --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>ust_tests_hello:tptest_sighandler</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event ust_tests_hello:tptest_sighandler -u -s mysession2 -c mychannel --tracepoint --filter intfield==10
+</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>ust_tests_hello:tptest_sighandler</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event -a -u -s mysession2 -c mychannel --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>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+# Syscall test cases
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event -a -k -s mysession2 --syscall
+</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>SYSCALL</type>
+        <enabled>true</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event -a -k -s mysession2 -c mychannel --syscall
+</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>SYSCALL</type>
+        <enabled>true</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+# dynamic probe/function probe test cases
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event myevent0 -k -s mysession2 --function 0xc0101340
+</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>myevent0</name>
+        <type>FUNCTION</type>
+        <enabled>false</enabled>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event myevent1 -k -s mysession2 -c mychannel --probe init_post
+</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>myevent1</name>
+        <type>PROBE</type>
+        <enabled>false</enabled>
+        <offset>0</offset>
+        <symbol_name>init_post</symbol_name>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+
+</COMMAND_OUTPUT>
+
+# log level test cases
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event myevent4 -u -s mysession2 --loglevel-only TRACE_DEBUG
+</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>myevent4</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_DEBUG</loglevel>
+        <loglevel_type>SINGLE</loglevel_type>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml enable-event myevent5 -u -s mysession2 -c mychannel --loglevel TRACE_DEBUG_FUNCTION
+</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>myevent5</name>
+        <type>TRACEPOINT</type>
+        <enabled>true</enabled>
+        <loglevel>TRACE_DEBUG_FUNCTION</loglevel>
+        <loglevel_type>RANGE</loglevel_type>
+        <success>true</success>
+      </event>
+    </events>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng add-context -h" and lttng --mi xml add-context ..." with different inputs
+####################################################################
+
+<SCENARIO>
+ContextHandling
+
+<COMMAND_INPUT>
+lttng --mi xml add-context -h
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+usage: lttng add-context -t TYPE [-k|-u] [OPTIONS]
+
+If no channel is given (-c), the context is added to
+all channels.
+
+Otherwise the context is added only to the channel (-c).
+
+Exactly one domain (-k or -u) must be specified.
+
+Options:
+  -h, --help               Show this help
+      --list-options       Simple listing of options
+  -s, --session NAME       Apply to session name
+  -c, --channel NAME       Apply to channel
+  -k, --kernel             Apply to the kernel tracer
+  -u, --userspace          Apply to the user-space tracer
+
+Context:
+  -t, --type TYPE          Context type. You can repeat that option on
+                           the command line to specify multiple contexts at once.
+                           (--kernel preempts --userspace)
+                           TYPE can be one of the strings below:
+                               pid, procname, prio, nice, vpid, tid, pthread_id,
+                               vtid, ppid, vppid, perf:cpu:cpu-cycles, perf:cpu:cycles
+Note that the vpid, vppid and vtid context types represent the virtual process id,
+virtual parent process id and virtual thread id as seen from the current execution context
+as opposed to the pid, ppid and tid which are kernel internal data structures.
+
+Example:
+This command will add the context information 'prio' and two per-cpu
+perf counters (hardware branch misses and cache misses), to all channels
+in the trace data output:
+# lttng add-context -k -t prio -t perf:cpu:branch-misses -t perf:cpu:cache-misses
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
+UST context pid added to event sched_kthread_stop_ret channel mychannel
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng --mi xml add-context --list"
+####################################################################
+
+<SCENARIO>
+ListContext28
+
+<COMMAND_INPUT>
+lttng --mi xml add-context --list
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+pid
+procname
+prio
+nice
+vpid
+tid
+pthread_id
+vtid
+ppid
+vppid
+perf:cpu:cpu-cycles
+perf:cpu:cycles
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+<SCENARIO>
+ContextErrorHandling
+
+<COMMAND_INPUT>
+lttng --mi xml add-context -h
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+usage: lttng add-context -t TYPE
+
+If no channel and no event is given (-c/-e), the context
+will be added to all events and all channels.
+Otherwise the context will be added only to the channel (-c)
+and/or event (-e) indicated.
+Exactly one domain (-k/--kernel or -u/--userspace) must be specified.
+
+Options:
+  -h, --help               Show this help
+      --list-options       Simple listing of options
+  -s, --session NAME       Apply to session name
+  -c, --channel NAME       Apply to channel
+  -e, --event NAME         Apply to event
+  -k, --kernel             Apply to the kernel tracer
+  -u, --userspace          Apply to the user-space tracer
+  -t, --type TYPE          Context type. You can repeat that option on
+                           the command line to specify multiple contexts at once.
+                           (--kernel preempts --userspace)
+                           TYPE can be one of the strings below:
+                               pid, procname, prio, nice, vpid, tid, pthread_id,
+                               vtid, ppid, vppid, perf:cpu-cycles, perf:cycles
+Example:
+This command will add the context information 'prio' and two perf
+counters (hardware branch misses and cache misses), to all events
+in the trace data output:
+# lttng add-context -k -t prio -t perf:branch-misses -t perf:cache-misses
+
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml add-context -s mysession2 -c mychannel -e ust_tests_hello:tptest_sighandler -u -t prio -t pid
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+UST context prio added to event ust_tests_hello:tptest_sighandle channel mychannel
+UST context pid added to event sched_kthread_stop_ret channel mychannel
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng create <session> with LTTng 2.1 options
+####################################################################
+<SCENARIO>
+CreateSessionLttng2.1
+
+<COMMAND_INPUT>
+lttng --mi xml create mysession -U net://172.0.0.1
+</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>tcp4://172.0.0.1:5342/mysession-20140813-095804 [data: 5343]</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 create mysession -U file:///tmp
+</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>/tmp</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 create mysession -C tcp://172.0.0.1 -D tcp://172.0.0.1:5343
+</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>tcp4://172.0.0.1:5342/ [data: 5343]</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 create mysession -U 172.0.0.1:1234:2345
+</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>tcp4://172.0.0.1:1234/mysession-20140813-102225 [data: 2345]</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 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>/home/user/lttng-traces/mysession-20140818-100114</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>
+
+<COMMAND_INPUT>
+lttng --mi xml -vvv create mysession -U net://172.0.0.1
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+DEBUG3: URI string: net://172.0.0.1 [in uri_parse() at uri.c:253]
+DEBUG2: IP address resolved to 172.0.0.1 [in set_ip_address() at uri.c:132]
+DEBUG3: URI dtype: 1, proto: 1, host: 172.0.0.1, subdir: , ctrl: 0, data: 0 [in uri_parse() at uri.c:467]
+DEBUG1: LSM cmd type : 8 [in send_session_msg() at lttng-ctl.c:261]
+Session mysession created.
+Traces will be written in net://172.0.0.1
+DEBUG1: Init config session in /home/bernd [in config_init() at conf.c:294]
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
+####################################################################
+<SCENARIO>
+CreateSessionSnapshot
+<COMMAND_INPUT>
+lttng --mi xml create mysession --snapshot
+</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/>
+      <enabled>false</enabled>
+      <snapshot_mode>1</snapshot_mode>
+      <live_timer_interval>4294967295</live_timer_interval>
+    </session>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot list-output -s 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>snapshot</name>
+  <output>
+    <snapshot_action>
+      <name>list-output</name>
+      <output>
+        <session>
+          <name>mysession</name>
+          <snapshots>
+            <snapshot>
+              <id>1</id>
+              <name>snapshot-1</name>
+              <ctrl_url>/home/user/lttng-traces/mysession-20130913-141651</ctrl_url>
+              <data_url/>
+              <max_size>0</max_size>
+            </snapshot>
+          </snapshots>
+        </session>
+      </output>
+    </snapshot_action>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml list
+</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/>
+        <enabled>false</enabled>
+        <snapshot_mode>1</snapshot_mode>
+        <live_timer_interval>4294967295</live_timer_interval>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot record -s mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+    Snapshot recorded successfully for session mysession
+</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>/home/user/lttng-traces/mysession-20140818-100114</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>
+
+####################################################################
+# Scenario: Test "lttng create <session> --snapshot -U <URL> (LTTng 2.3)
+####################################################################
+<SCENARIO>
+CreateSessionStreamedSnapshot
+<COMMAND_INPUT>
+lttng --mi xml create mysession --snapshot -U net://172.0.0.1
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Session mysession created.
+Default snapshot output set to: net://172.0.0.1
+Snapshot mode set. Every channel enabled for that session will be set in overwrite mode and mmap output.
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot list-output -s mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+Snapshot output list for session mysession
+    [2] snapshot-2: net4://172.0.0.1:5342/
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml list
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+  1) mysession () [inactive snapshot]
+
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot record -s mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+    Snapshot recorded successfully for session mysession
+</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>/home/user/lttng-traces/mysession-20140818-100114</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>
+
+####################################################################
+# Scenario: Test "lttng create <session> --snapshot (LTTng 2.3)
+####################################################################
+<SCENARIO>
+CreateSessionSnapshotErrors
+<COMMAND_INPUT>
+lttng --mi xml snapshot list-output -s blabla
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_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>snapshot</name>
+  <output>
+    <snapshot_action>
+      <name>list-output</name>
+      <output/>
+    </snapshot_action>
+  </output>
+  <success>false</success>
+</command>
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+#next is not an error case but good to be tested
+<COMMAND_INPUT>
+lttng --mi xml list
+</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/>
+        <enabled>true</enabled>
+        <snapshot_mode>1</snapshot_mode>
+        <live_timer_interval>4294967295</live_timer_interval>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot record -s blabla
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+    Error: Session name not found
+</COMMAND_ERROR_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>snapshot</name>
+  <output>
+    <snapshot_action>
+      <name>record</name>
+      <output/>
+    </snapshot_action>
+  </output>
+  <success>false</success>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml snapshot record -s mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+    Error: Session needs to be started once
+</COMMAND_ERROR_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>snapshot</name>
+  <output>
+    <snapshot_action>
+      <name>record</name>
+      <output/>
+    </snapshot_action>
+  </output>
+  <success>false</success>
+</command>
+</COMMAND_OUTPUT>
+
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng create <session> --live [USEC] (LTTng 2.4)
+####################################################################
+<SCENARIO>
+CreateSessionLive
+<COMMAND_INPUT>
+lttng --mi xml create mysession --live -U net://127.0.0.1
+</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>tcp4://127.0.0.1:5342/ [data: 5343]</path>
+      <enabled>false</enabled>
+      <snapshot_mode>0</snapshot_mode>
+      <live_timer_interval>1000000</live_timer_interval>
+    </session>
+  </output>
+  <success>true</success>
+</command>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml list
+</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>tcp4://127.0.0.1:5342/ [data: 5343]</path>
+        <enabled>false</enabled>
+        <snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>1000000</live_timer_interval>
+      </session>
+    </sessions>
+  </output>
+</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>/home/user/lttng-traces/mysession-20140818-100114</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>
+
+####################################################################
+# Scenario: Test errors for  "lttng create <session> --live [USEC] (LTTng 2.4)
+####################################################################
+<SCENARIO>
+CreateSessionLiveErrors
+<COMMAND_INPUT>
+lttng --mi xml create mysession --live --snapshot
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+Error: Snapshot and live modes are mutually exclusive.
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml create mysession --live -U blah
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+Error: URI parse unknown protocol blah
+Error: Unable to parse the URL blah
+Error: Invalid parameter
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+#------------------------------------------------------------------------------
+<COMMAND_INPUT>
+lttng --mi xml create mysession --live -C net://127.0.0.1
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+1
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<COMMAND_ERROR_OUTPUT>
+Error: You need both control and data URL.
+Error: Command error
+</COMMAND_ERROR_OUTPUT>
+</COMMAND_OUTPUT>
+</SCENARIO>
+
+####################################################################
+# Scenario: Test "lttng list <session> (version 2.6.0, syscalls)
+####################################################################
+<SCENARIO>
+GetSessionWithSyscalls
+<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>/home/user/lttng-traces/mysession-20120129-084256</path>
+        <enabled>false</enabled><snapshot_mode>0</snapshot_mode>
+        <live_timer_interval>0</live_timer_interval>
+        <domains>
+          <domain>
+            <type>KERNEL</type>
+            <buffer_type>PER_PID</buffer_type>
+            <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>200</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>
+                </attributes><events>
+                <event>
+                  <name>read</name>
+                  <type>SYSCALL</type>
+                  <enabled>true</enabled>
+                </event>
+                <event>
+                  <name>write</name>
+                  <type>SYSCALL</type>
+                  <enabled>true</enabled>
+                </event>
+              </events>
+            </channel>
+          </channels>
+        </domain></domains>
+      </session>
+    </sessions>
+  </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+<SCENARIO>
+ListSession2.7Compat
+<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>/home/user/lttng-traces/mysession-20151020-085614</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>
+                                </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>
+                                </event>
+                            </events>
+                        </channel>
+                    </channels>
+                </domain>
+                    <domain>
+                        <type>UST</type>
+                        <buffer_type>PER_PID</buffer_type>
+                        <trackers/>
+                        <channels>
+                            <channel>
+                                <name>channel0</name>
+                                <enabled>true</enabled>
+                                 <attributes>
+                                    <overwrite_mode>DISCARD</overwrite_mode>
+                                    <subbuffer_size>4096</subbuffer_size>
+                                    <subbuffer_count>4</subbuffer_count>
+                                    <switch_timer_interval>0</switch_timer_interval>
+                                    <read_timer_interval>0</read_timer_interval>
+                                    <output_type>MMAP</output_type>
+                                    <tracefile_size>0</tracefile_size>
+                                    <tracefile_count>0</tracefile_count>
+                                    <live_timer_interval>0</live_timer_interval>
+                                </attributes>
+                                <events>
+                                    <event><name>*</name>
+                                    <type>TRACEPOINT</type>
+                                    <enabled>true</enabled>
+                                </event></events>
+                            </channel>
+                        </channels>
+                    </domain>
+                </domains>
+            </session>
+        </sessions>
+    </output>
+</command>
+</COMMAND_OUTPUT>
+</SCENARIO>
+####################################################################
+# Scenario: Test "lttng load [OPTIONS] [SESSION]"
+#                "lttng save [OPTIONS] [SESSION]"
+# (LTTng 2.5)
+####################################################################
+<SCENARIO>
+SessionProfile
+<COMMAND_INPUT>
+lttng --mi xml load -i /home/user/.lttng/sessions/mysession.lttng
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>load</name><output><load><session><name>*</name></session><path>.lttng/sessions/seqSession2.lttng</path></load></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+<SCENARIO>
+SessionProfile
+<COMMAND_INPUT>
+lttng --mi xml load -i /home/user/.lttng/sessions/mysession.lttng -f
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>load</name><output><load><session><name>*</name></session><path>.lttng/sessions/seqSession2.lttng</path></load></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml save
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>save</name><output><save><session><name>*</name></session></save></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml save mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>save</name><output><save><session><name>seqSession2</name></session></save></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml save -f mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>save</name><output><save><session><name>seqSession2</name></session></save></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+<COMMAND_INPUT>
+lttng --mi xml save -o /tmp/test -f mysession
+</COMMAND_INPUT>
+<COMMAND_RESULT>
+0
+</COMMAND_RESULT>
+<COMMAND_OUTPUT>
+<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>save</name><output><save><session><name>seqSession2</name></session></save></output><success>true</success></command>
+</COMMAND_OUTPUT>
+
+</SCENARIO>
index e88b05f3277a8bd5a5eedf7d45d5807641ecff20..faf95338dbddbf5c17010593df23b6e286b51f62 100644 (file)
@@ -457,102 +457,6 @@ lttng --mi xml list mysession1
 </COMMAND_OUTPUT>
 </SCENARIO>
 
-####################################################################
-# Scenario: Test lttng list <name> in the presence of filter expressions
-####################################################################
-<SCENARIO>
-GetSessionFilterExpression
-<COMMAND_INPUT>
-lttng --mi xml list mysession
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-<?xml version="1.0" encoding="UTF-8"?>
-<command>
-  <name>list</name>
-  <output>
-    <sessions>
-      <session>
-        <name>mysession</name>
-        <path>/home/user/lttng-traces/mysession-20120129-084256</path>
-        <enabled>true</enabled>
-        <snapshot_mode>0</snapshot_mode>
-        <live_timer_interval>0</live_timer_interval>
-        <domains>
-          <domain>
-            <type>KERNEL</type>
-            <buffer_type>PER_PID</buffer_type>
-            <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>200</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>
-                </attributes>
-                <events>
-                  <event>
-                    <name>block_rq_remap</name>
-                    <type>TRACEPOINT</type>
-                    <enabled>true</enabled>
-                    <filter_expression>foo &gt; 10</filter_expression>
-                    <loglevel>TRACE_EMERG</loglevel>
-                    <loglevel_type>ALL</loglevel_type>
-                    <exclusion>false</exclusion>
-                  </event>
-                </events>
-              </channel>
-            </channels>
-          </domain>
-          <domain>
-            <type>UST</type>
-            <buffer_type>PER_UID</buffer_type>
-            <channels>
-              <channel>
-                <name>channel0</name>
-                <enabled>true</enabled>
-                <attributes>
-                  <overwrite_mode>DISCARD</overwrite_mode>
-                  <subbuffer_size>4096</subbuffer_size>
-                  <subbuffer_count>4</subbuffer_count>
-                  <switch_timer_interval>0</switch_timer_interval>
-                  <read_timer_interval>200</read_timer_interval>
-                  <output_type>MMAP</output_type>
-                  <tracefile_size>0</tracefile_size>
-                  <tracefile_count>0</tracefile_count>
-                  <live_timer_interval>0</live_timer_interval>
-                </attributes>
-                <events>
-                  <event>
-                    <name>ust_tests_hello:tptest_sighandler</name>
-                    <type>TRACEPOINT</type>
-                    <enabled>false</enabled>
-                    <filter_expression>foo &gt; 10</filter_expression>
-                    <loglevel>TRACE_DEBUG_LINE</loglevel>
-                    <loglevel_type>ALL</loglevel_type>
-                    <exclusion>false</exclusion>
-                  </event>
-                </events>
-              </channel>
-            </channels>
-          </domain>
-        </domains>
-      </session>
-    </sessions>
-  </output>
-</command>
-</COMMAND_OUTPUT>
-</SCENARIO>
-
 ####################################################################
 # Scenario: Test lttng list <name> (with live time interval)
 ####################################################################
@@ -1990,35 +1894,6 @@ UST context pid added to event sched_kthread_stop_ret channel mychannel
 </COMMAND_OUTPUT>
 </SCENARIO>
 
-####################################################################
-# Scenario: Test "lttng --mi xml add-context --list"
-####################################################################
-
-<SCENARIO>
-ListContext28
-
-<COMMAND_INPUT>
-lttng --mi xml add-context --list
-</COMMAND_INPUT>
-<COMMAND_RESULT>
-0
-</COMMAND_RESULT>
-<COMMAND_OUTPUT>
-pid
-procname
-prio
-nice
-vpid
-tid
-pthread_id
-vtid
-ppid
-vppid
-perf:cpu:cpu-cycles
-perf:cpu:cycles
-</COMMAND_OUTPUT>
-</SCENARIO>
-
 <SCENARIO>
 ContextErrorHandling
 
This page took 0.06021 seconds and 5 git commands to generate.