tmf: Make CtfTmfEventField extend TmfEventField
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui.tests / src / org / eclipse / linuxtools / lttng2 / ui / tests / control / model / component / TraceControlPropertiesTest.java
CommitLineData
06b9339e
BH
1/**********************************************************************
2 * Copyright (c) 2012 Ericsson
cfdb727a 3 *
06b9339e
BH
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
cfdb727a
AM
8 *
9 * Contributors:
06b9339e
BH
10 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
115b4a01 12package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
06b9339e 13
d132bcc7
BH
14import java.io.File;
15import java.net.URL;
16
06b9339e
BH
17import junit.framework.Test;
18import junit.framework.TestCase;
19import junit.framework.TestSuite;
20
d132bcc7
BH
21import org.eclipse.core.runtime.FileLocator;
22import org.eclipse.core.runtime.Path;
9315aeee
BH
23import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
24import org.eclipse.linuxtools.internal.lttng2.core.control.model.TargetNodeState;
25import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceEnablement;
26import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceEventType;
27import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
28import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceSessionState;
115b4a01 29import org.eclipse.linuxtools.internal.lttng2.stubs.service.TestRemoteSystemProxy;
115b4a01 30import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
115b4a01
BH
31import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent;
32import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.KernelProviderComponent;
33import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
34import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceChannelComponent;
35import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceDomainComponent;
36import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceEventComponent;
37import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceProbeEventComponent;
38import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceSessionComponent;
39import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.UstProviderComponent;
40import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.BaseEventPropertySource;
41import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.KernelProviderPropertySource;
42import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TargetNodePropertySource;
43import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceChannelPropertySource;
44import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceDomainPropertySource;
45import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceEventPropertySource;
46import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceProbeEventPropertySource;
47import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceSessionPropertySource;
48import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.UstProviderPropertySource;
8577ed1e 49import org.eclipse.rse.core.RSECorePlugin;
06b9339e 50import org.eclipse.rse.core.model.IHost;
8577ed1e
BH
51import org.eclipse.rse.core.model.ISystemProfile;
52import org.eclipse.rse.core.model.ISystemRegistry;
06b9339e
BH
53import org.eclipse.ui.views.properties.IPropertySource;
54import org.junit.After;
55import org.junit.Before;
9269df72 56import org.osgi.framework.FrameworkUtil;
06b9339e 57
115b4a01 58
06b9339e
BH
59/**
60 * The class <code>TraceControlPropertiesTest</code> contains tests for the all property class</code>.
61 *
62 */
63@SuppressWarnings("nls")
64public class TraceControlPropertiesTest extends TestCase {
d132bcc7
BH
65
66 // ------------------------------------------------------------------------
67 // Constants
68 // ------------------------------------------------------------------------
69 private static final String DIRECTORY = "testfiles";
70 private static final String TEST_STREAM = "ListInfoTest.cfg";
71 private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
72
cfdb727a 73
06b9339e
BH
74 // ------------------------------------------------------------------------
75 // Test data
76 // ------------------------------------------------------------------------
cfdb727a 77
06b9339e
BH
78 // ------------------------------------------------------------------------
79 // Static methods
80 // ------------------------------------------------------------------------
81
82 /**
83 * Returns test setup used when executing test case stand-alone.
cfdb727a 84 * @return Test setup class
06b9339e
BH
85 */
86 public static Test suite() {
87 return new ModelImplTestSetup(new TestSuite(TraceControlPropertiesTest.class));
88 }
89
90 // ------------------------------------------------------------------------
91 // Housekeeping
92 // ------------------------------------------------------------------------
93
94 /**
95 * Perform pre-test initialization.
96 *
97 * @throws Exception
98 * if the initialization fails for some reason
99 *
100 */
101 @Override
102 @Before
103 public void setUp() throws Exception {
104 }
105
106 /**
107 * Perform post-test clean-up.
108 *
109 * @throws Exception
110 * if the clean-up fails for some reason
111 *
112 */
113 @Override
114 @After
a26d90be 115 public void tearDown() throws Exception {
b957fb8c 116 TraceControlTestFacility.getInstance().waitForJobs();
06b9339e 117 }
cfdb727a 118
06b9339e
BH
119 /**
120 * Run the TraceControlComponent.
cfdb727a
AM
121 *
122 * @throws Exception
123 * This will fail the test
06b9339e 124 */
a26d90be 125 public void testComponentProperties() throws Exception {
cfdb727a 126
06b9339e
BH
127 TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
128
9269df72 129 URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(DIRECTORY + File.separator + TEST_STREAM), null);
d132bcc7
BH
130 File testfile = new File(FileLocator.toFileURL(location).toURI());
131 proxy.setTestFile(testfile.getAbsolutePath());
132 proxy.setScenario(SCEN_LIST_INFO_TEST);
cfdb727a 133
06b9339e
BH
134 ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
135
8577ed1e
BH
136 ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
137 ISystemProfile profile = registry.createSystemProfile("myProfile", true);
138 IHost host = registry.createLocalHost(profile, "myProfile", "user");
06b9339e
BH
139
140 TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, proxy);
141
142 root.addChild(node);
143 node.connect();
144
145 TraceControlTestFacility.getInstance().waitForJobs();
146
147 // ------------------------------------------------------------------------
148 // Verify Node Properties (adapter)
149 // ------------------------------------------------------------------------
150 Object adapter = node.getAdapter(IPropertySource.class);
151 assertNotNull(adapter);
152 assertTrue(adapter instanceof TargetNodePropertySource);
153
154 TargetNodePropertySource source = (TargetNodePropertySource)adapter;
155
156 assertNull(source.getEditableValue());
157 assertFalse(source.isPropertySet(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
158 assertNotNull(source.getPropertyDescriptors());
159
160 assertEquals("myNode", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
8577ed1e 161 assertEquals("LOCALHOST", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_ADDRESS_PROPERTY_ID));
06b9339e 162 assertEquals(TargetNodeState.CONNECTED.name(), source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_STATE_PROPERTY_ID));
d4514365 163 assertEquals("2.1.0", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_VERSION_PROPERTY_ID));
06b9339e
BH
164 assertNull(source.getPropertyValue("test"));
165
166 adapter = node.getAdapter(IChannelInfo.class);
167 assertNull(adapter);
cfdb727a 168
06b9339e
BH
169 ITraceControlComponent[] groups = node.getChildren();
170 assertNotNull(groups);
171 assertEquals(2, groups.length);
cfdb727a 172
06b9339e
BH
173 ITraceControlComponent[] providers = groups[0].getChildren();
174
175 assertNotNull(providers);
176 assertEquals(3, providers.length);
177
178 // ------------------------------------------------------------------------
179 // Verify Kernel Provider Properties (adapter)
180 // ------------------------------------------------------------------------
181 KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
cfdb727a 182
06b9339e
BH
183 adapter = kernelProvider.getAdapter(IPropertySource.class);
184 assertNotNull(adapter);
185 assertTrue(adapter instanceof KernelProviderPropertySource);
186
187 KernelProviderPropertySource kernelSource = (KernelProviderPropertySource)adapter;
188 assertNotNull(kernelSource.getPropertyDescriptors());
189
190 assertEquals("Kernel", kernelSource.getPropertyValue(KernelProviderPropertySource.KERNEL_PROVIDER_NAME_PROPERTY_ID));
191
192 // ------------------------------------------------------------------------
193 // Verify UST Provider Properties (adapter)
194 // ------------------------------------------------------------------------
195 UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
cfdb727a 196
06b9339e
BH
197 adapter = ustProvider.getAdapter(IPropertySource.class);
198 assertNotNull(adapter);
199 assertTrue(adapter instanceof UstProviderPropertySource);
200
201 UstProviderPropertySource ustSource = (UstProviderPropertySource)adapter;
202 assertNotNull(ustSource.getPropertyDescriptors());
203
2e74131b 204 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_NAME_PROPERTY_ID));
06b9339e
BH
205 assertEquals(String.valueOf(9379), ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_PID_PROPERTY_ID));
206
207 // ------------------------------------------------------------------------
208 // Verify Base Event Properties (adapter)
209 // ------------------------------------------------------------------------
210 ITraceControlComponent[] events = ustProvider.getChildren();
211 assertNotNull(events);
212 assertEquals(2, events.length);
213
214 BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
215 assertNotNull(baseEventInfo);
cfdb727a 216
06b9339e
BH
217 adapter = baseEventInfo.getAdapter(IPropertySource.class);
218 assertNotNull(adapter);
219 assertTrue(adapter instanceof BaseEventPropertySource);
220
221 BaseEventPropertySource baseSource = (BaseEventPropertySource)adapter;
222 assertNotNull(baseSource.getPropertyDescriptors());
223
224 assertEquals("ust_tests_hello:tptest_sighandler", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_NAME_PROPERTY_ID));
225 assertEquals(TraceEventType.TRACEPOINT.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_TYPE_PROPERTY_ID));
4775bcbf 226 assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_LOGLEVEL_PROPERTY_ID));
06b9339e 227
d4514365
BH
228 baseEventInfo = (BaseEventComponent) events[1];
229 assertNotNull(baseEventInfo);
230
231 adapter = baseEventInfo.getAdapter(IPropertySource.class);
232 assertNotNull(adapter);
233 assertTrue(adapter instanceof BaseEventPropertySource);
234 baseSource = (BaseEventPropertySource)adapter;
235 assertNotNull(baseSource.getPropertyDescriptors());
236 assertEquals("doublefield=float;floatfield=float;stringfield=string", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_FIELDS_PROPERTY_ID));
237
06b9339e
BH
238 // ------------------------------------------------------------------------
239 // Verify Session Properties (adapter)
240 // ------------------------------------------------------------------------
241 ITraceControlComponent[] sessions = groups[1].getChildren();
242 assertNotNull(sessions);
243 assertEquals(2, sessions.length);
244
245 TraceSessionComponent session = (TraceSessionComponent)sessions[1];
246
247 adapter = session.getAdapter(IPropertySource.class);
248 assertNotNull(adapter);
249 assertTrue(adapter instanceof TraceSessionPropertySource);
250
251 TraceSessionPropertySource sessionSource = (TraceSessionPropertySource)adapter;
252 assertNotNull(sessionSource.getPropertyDescriptors());
253
254 assertEquals("mysession", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_NAME_PROPERTY_ID));
255 assertEquals("/home/user/lttng-traces/mysession-20120129-084256", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_PATH_PROPERTY_ID));
256 assertEquals(TraceSessionState.ACTIVE.name(), sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_STATE_PROPERTY_ID));
257
258 // ------------------------------------------------------------------------
259 // Verify Domain Provider Properties (adapter)
260 // ------------------------------------------------------------------------
261 ITraceControlComponent[] domains = session.getChildren();
262 assertNotNull(domains);
263 assertEquals(2, domains.length);
264
265 TraceDomainComponent domain = (TraceDomainComponent) domains[0];
266 adapter = domain.getAdapter(IPropertySource.class);
267 assertNotNull(adapter);
268 assertTrue(adapter instanceof TraceDomainPropertySource);
269
270 TraceDomainPropertySource domainSource = (TraceDomainPropertySource)adapter;
271 assertNotNull(domainSource.getPropertyDescriptors());
272
273 assertEquals("Kernel", domainSource.getPropertyValue(TraceDomainPropertySource.TRACE_DOMAIN_NAME_PROPERTY_ID));
cfdb727a 274
06b9339e
BH
275 ITraceControlComponent[] channels = domains[0].getChildren();
276 assertNotNull(channels);
277 assertEquals(2, channels.length);
278
279 // ------------------------------------------------------------------------
280 // Verify Channel Properties (adapter)
281 // ------------------------------------------------------------------------
282 assertTrue(channels[0] instanceof TraceChannelComponent);
283 TraceChannelComponent channel = (TraceChannelComponent) channels[0];
cfdb727a 284
06b9339e
BH
285 adapter = channel.getAdapter(IPropertySource.class);
286 assertNotNull(adapter);
287 assertTrue(adapter instanceof TraceChannelPropertySource);
288
289 TraceChannelPropertySource channelSource = (TraceChannelPropertySource)adapter;
290 assertNotNull(channelSource.getPropertyDescriptors());
291
292 assertEquals("channel0", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NAME_PROPERTY_ID));
293 assertEquals(String.valueOf(4), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID));
294 assertEquals(TraceEnablement.ENABLED.name(), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_STATE_PROPERTY_ID));
295 assertEquals(String.valueOf(false), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID));
296 assertEquals("splice()", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID));
297 assertEquals(String.valueOf(200), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_READ_TIMER_PROPERTY_ID));
298 assertEquals(String.valueOf(262144), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID));
299 assertEquals(String.valueOf(0), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID));
cfdb727a 300
06b9339e
BH
301 // ------------------------------------------------------------------------
302 // Verify Event Properties (adapter)
303 // ------------------------------------------------------------------------
304 ITraceControlComponent[] channel0Events = channel.getChildren();
305 assertNotNull(channel0Events);
d132bcc7 306 assertEquals(5, channel0Events.length);
06b9339e 307 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 308
06b9339e 309 TraceEventComponent event = (TraceEventComponent) channel0Events[0];
cfdb727a 310
06b9339e
BH
311 adapter = event.getAdapter(IPropertySource.class);
312 assertNotNull(adapter);
313 assertTrue(adapter instanceof TraceEventPropertySource);
314
315 TraceEventPropertySource eventSource = (TraceEventPropertySource)adapter;
316 assertNotNull(eventSource.getPropertyDescriptors());
cfdb727a 317
06b9339e
BH
318 assertEquals("block_rq_remap", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
319 assertEquals(TraceLogLevel.TRACE_EMERG.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
320 assertEquals(TraceEventType.TRACEPOINT.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
321 assertEquals(TraceEnablement.ENABLED.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
cfdb727a 322
d132bcc7
BH
323 // ------------------------------------------------------------------------
324 // Verify Probe Event Properties (adapter)
325 // ------------------------------------------------------------------------
326 assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
cfdb727a 327
d132bcc7 328 TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
cfdb727a 329
d132bcc7
BH
330 adapter = probeEvent.getAdapter(IPropertySource.class);
331 assertNotNull(adapter);
332 assertTrue(adapter instanceof TraceProbeEventPropertySource);
333
334 TraceProbeEventPropertySource probeEventSource = (TraceProbeEventPropertySource)adapter;
335 assertNotNull(probeEventSource.getPropertyDescriptors());
336 assertEquals(4, probeEventSource.getPropertyDescriptors().length);
cfdb727a 337
d132bcc7
BH
338 assertEquals("myevent2", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
339 assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
340 assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
341 assertEquals("0xc0101340", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID));
cfdb727a 342
d132bcc7 343 assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
cfdb727a 344
d132bcc7 345 probeEvent = (TraceProbeEventComponent) channel0Events[3];
cfdb727a 346
d132bcc7
BH
347 adapter = probeEvent.getAdapter(IPropertySource.class);
348 assertNotNull(adapter);
349 assertTrue(adapter instanceof TraceProbeEventPropertySource);
350
351 probeEventSource = (TraceProbeEventPropertySource)adapter;
352 assertNotNull(probeEventSource.getPropertyDescriptors());
353 assertEquals(5, probeEventSource.getPropertyDescriptors().length);
cfdb727a 354
d132bcc7
BH
355 assertEquals("myevent0", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
356 assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
357 assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
358 assertEquals("0x0", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID));
359 assertEquals("init_post", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID));
cfdb727a 360
d4514365
BH
361 //-------------------------------------------------------------------------
362 // Verify Filter of UST event
363 //-------------------------------------------------------------------------
364 event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[0];
365 adapter = event.getAdapter(IPropertySource.class);
366 assertEquals("with filter", event.getFilterExpression());
367
a26d90be
BH
368 //-------------------------------------------------------------------------
369 // Delete node
370 //-------------------------------------------------------------------------
371 node.disconnect();
372 node.getParent().removeChild(node);
06b9339e
BH
373 }
374}
This page took 0.047063 seconds and 5 git commands to generate.