lttng: Port unit tests to JUnit4
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui.tests / src / org / eclipse / linuxtools / lttng2 / ui / tests / control / model / component / TraceControlPropertiesTest.java
CommitLineData
06b9339e 1/**********************************************************************
2ba3d0a1 2 * Copyright (c) 2012, 2013 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 10 * Bernd Hufmann - Initial API and implementation
2ba3d0a1 11 * Alexandre Montplaisir - Port to JUnit4
06b9339e 12 **********************************************************************/
2ba3d0a1 13
115b4a01 14package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
06b9339e 15
2ba3d0a1
AM
16import static org.junit.Assert.*;
17
d132bcc7
BH
18import java.io.File;
19import java.net.URL;
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;
2ba3d0a1 55import org.junit.Test;
9269df72 56import org.osgi.framework.FrameworkUtil;
06b9339e
BH
57
58/**
2ba3d0a1
AM
59 * The class <code>TraceControlPropertiesTest</code> contains tests for the all
60 * property class</code>.
06b9339e
BH
61 */
62@SuppressWarnings("nls")
2ba3d0a1 63public class TraceControlPropertiesTest {
d132bcc7
BH
64
65 // ------------------------------------------------------------------------
66 // Constants
67 // ------------------------------------------------------------------------
2ba3d0a1 68
d132bcc7
BH
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
06b9339e
BH
73 // ------------------------------------------------------------------------
74 // Housekeeping
75 // ------------------------------------------------------------------------
76
06b9339e
BH
77 /**
78 * Perform post-test clean-up.
06b9339e 79 */
06b9339e 80 @After
2ba3d0a1 81 public void tearDown() {
b957fb8c 82 TraceControlTestFacility.getInstance().waitForJobs();
06b9339e 83 }
cfdb727a 84
06b9339e
BH
85 /**
86 * Run the TraceControlComponent.
cfdb727a
AM
87 *
88 * @throws Exception
89 * This will fail the test
06b9339e 90 */
2ba3d0a1 91 @Test
a26d90be 92 public void testComponentProperties() throws Exception {
cfdb727a 93
06b9339e
BH
94 TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
95
9269df72 96 URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(DIRECTORY + File.separator + TEST_STREAM), null);
d132bcc7
BH
97 File testfile = new File(FileLocator.toFileURL(location).toURI());
98 proxy.setTestFile(testfile.getAbsolutePath());
99 proxy.setScenario(SCEN_LIST_INFO_TEST);
cfdb727a 100
06b9339e
BH
101 ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
102
8577ed1e
BH
103 ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
104 ISystemProfile profile = registry.createSystemProfile("myProfile", true);
105 IHost host = registry.createLocalHost(profile, "myProfile", "user");
06b9339e
BH
106
107 TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, proxy);
108
109 root.addChild(node);
110 node.connect();
111
112 TraceControlTestFacility.getInstance().waitForJobs();
113
114 // ------------------------------------------------------------------------
115 // Verify Node Properties (adapter)
116 // ------------------------------------------------------------------------
117 Object adapter = node.getAdapter(IPropertySource.class);
118 assertNotNull(adapter);
119 assertTrue(adapter instanceof TargetNodePropertySource);
120
121 TargetNodePropertySource source = (TargetNodePropertySource)adapter;
122
123 assertNull(source.getEditableValue());
124 assertFalse(source.isPropertySet(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
125 assertNotNull(source.getPropertyDescriptors());
126
127 assertEquals("myNode", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
8577ed1e 128 assertEquals("LOCALHOST", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_ADDRESS_PROPERTY_ID));
06b9339e 129 assertEquals(TargetNodeState.CONNECTED.name(), source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_STATE_PROPERTY_ID));
d4514365 130 assertEquals("2.1.0", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_VERSION_PROPERTY_ID));
06b9339e
BH
131 assertNull(source.getPropertyValue("test"));
132
133 adapter = node.getAdapter(IChannelInfo.class);
134 assertNull(adapter);
cfdb727a 135
06b9339e
BH
136 ITraceControlComponent[] groups = node.getChildren();
137 assertNotNull(groups);
138 assertEquals(2, groups.length);
cfdb727a 139
06b9339e
BH
140 ITraceControlComponent[] providers = groups[0].getChildren();
141
142 assertNotNull(providers);
143 assertEquals(3, providers.length);
144
145 // ------------------------------------------------------------------------
146 // Verify Kernel Provider Properties (adapter)
147 // ------------------------------------------------------------------------
148 KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
cfdb727a 149
06b9339e
BH
150 adapter = kernelProvider.getAdapter(IPropertySource.class);
151 assertNotNull(adapter);
152 assertTrue(adapter instanceof KernelProviderPropertySource);
153
154 KernelProviderPropertySource kernelSource = (KernelProviderPropertySource)adapter;
155 assertNotNull(kernelSource.getPropertyDescriptors());
156
157 assertEquals("Kernel", kernelSource.getPropertyValue(KernelProviderPropertySource.KERNEL_PROVIDER_NAME_PROPERTY_ID));
158
159 // ------------------------------------------------------------------------
160 // Verify UST Provider Properties (adapter)
161 // ------------------------------------------------------------------------
162 UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
cfdb727a 163
06b9339e
BH
164 adapter = ustProvider.getAdapter(IPropertySource.class);
165 assertNotNull(adapter);
166 assertTrue(adapter instanceof UstProviderPropertySource);
167
168 UstProviderPropertySource ustSource = (UstProviderPropertySource)adapter;
169 assertNotNull(ustSource.getPropertyDescriptors());
170
2e74131b 171 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_NAME_PROPERTY_ID));
06b9339e
BH
172 assertEquals(String.valueOf(9379), ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_PID_PROPERTY_ID));
173
174 // ------------------------------------------------------------------------
175 // Verify Base Event Properties (adapter)
176 // ------------------------------------------------------------------------
177 ITraceControlComponent[] events = ustProvider.getChildren();
178 assertNotNull(events);
179 assertEquals(2, events.length);
180
181 BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
182 assertNotNull(baseEventInfo);
cfdb727a 183
06b9339e
BH
184 adapter = baseEventInfo.getAdapter(IPropertySource.class);
185 assertNotNull(adapter);
186 assertTrue(adapter instanceof BaseEventPropertySource);
187
188 BaseEventPropertySource baseSource = (BaseEventPropertySource)adapter;
189 assertNotNull(baseSource.getPropertyDescriptors());
190
191 assertEquals("ust_tests_hello:tptest_sighandler", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_NAME_PROPERTY_ID));
192 assertEquals(TraceEventType.TRACEPOINT.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_TYPE_PROPERTY_ID));
4775bcbf 193 assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_LOGLEVEL_PROPERTY_ID));
06b9339e 194
d4514365
BH
195 baseEventInfo = (BaseEventComponent) events[1];
196 assertNotNull(baseEventInfo);
197
198 adapter = baseEventInfo.getAdapter(IPropertySource.class);
199 assertNotNull(adapter);
200 assertTrue(adapter instanceof BaseEventPropertySource);
201 baseSource = (BaseEventPropertySource)adapter;
202 assertNotNull(baseSource.getPropertyDescriptors());
203 assertEquals("doublefield=float;floatfield=float;stringfield=string", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_FIELDS_PROPERTY_ID));
204
06b9339e
BH
205 // ------------------------------------------------------------------------
206 // Verify Session Properties (adapter)
207 // ------------------------------------------------------------------------
208 ITraceControlComponent[] sessions = groups[1].getChildren();
209 assertNotNull(sessions);
210 assertEquals(2, sessions.length);
211
212 TraceSessionComponent session = (TraceSessionComponent)sessions[1];
213
214 adapter = session.getAdapter(IPropertySource.class);
215 assertNotNull(adapter);
216 assertTrue(adapter instanceof TraceSessionPropertySource);
217
218 TraceSessionPropertySource sessionSource = (TraceSessionPropertySource)adapter;
219 assertNotNull(sessionSource.getPropertyDescriptors());
220
221 assertEquals("mysession", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_NAME_PROPERTY_ID));
222 assertEquals("/home/user/lttng-traces/mysession-20120129-084256", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_PATH_PROPERTY_ID));
223 assertEquals(TraceSessionState.ACTIVE.name(), sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_STATE_PROPERTY_ID));
224
225 // ------------------------------------------------------------------------
226 // Verify Domain Provider Properties (adapter)
227 // ------------------------------------------------------------------------
228 ITraceControlComponent[] domains = session.getChildren();
229 assertNotNull(domains);
230 assertEquals(2, domains.length);
231
232 TraceDomainComponent domain = (TraceDomainComponent) domains[0];
233 adapter = domain.getAdapter(IPropertySource.class);
234 assertNotNull(adapter);
235 assertTrue(adapter instanceof TraceDomainPropertySource);
236
237 TraceDomainPropertySource domainSource = (TraceDomainPropertySource)adapter;
238 assertNotNull(domainSource.getPropertyDescriptors());
239
240 assertEquals("Kernel", domainSource.getPropertyValue(TraceDomainPropertySource.TRACE_DOMAIN_NAME_PROPERTY_ID));
cfdb727a 241
06b9339e
BH
242 ITraceControlComponent[] channels = domains[0].getChildren();
243 assertNotNull(channels);
244 assertEquals(2, channels.length);
245
246 // ------------------------------------------------------------------------
247 // Verify Channel Properties (adapter)
248 // ------------------------------------------------------------------------
249 assertTrue(channels[0] instanceof TraceChannelComponent);
250 TraceChannelComponent channel = (TraceChannelComponent) channels[0];
cfdb727a 251
06b9339e
BH
252 adapter = channel.getAdapter(IPropertySource.class);
253 assertNotNull(adapter);
254 assertTrue(adapter instanceof TraceChannelPropertySource);
255
256 TraceChannelPropertySource channelSource = (TraceChannelPropertySource)adapter;
257 assertNotNull(channelSource.getPropertyDescriptors());
258
259 assertEquals("channel0", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NAME_PROPERTY_ID));
260 assertEquals(String.valueOf(4), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID));
261 assertEquals(TraceEnablement.ENABLED.name(), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_STATE_PROPERTY_ID));
262 assertEquals(String.valueOf(false), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID));
263 assertEquals("splice()", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID));
264 assertEquals(String.valueOf(200), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_READ_TIMER_PROPERTY_ID));
265 assertEquals(String.valueOf(262144), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID));
266 assertEquals(String.valueOf(0), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID));
cfdb727a 267
06b9339e
BH
268 // ------------------------------------------------------------------------
269 // Verify Event Properties (adapter)
270 // ------------------------------------------------------------------------
271 ITraceControlComponent[] channel0Events = channel.getChildren();
272 assertNotNull(channel0Events);
d132bcc7 273 assertEquals(5, channel0Events.length);
06b9339e 274 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 275
06b9339e 276 TraceEventComponent event = (TraceEventComponent) channel0Events[0];
cfdb727a 277
06b9339e
BH
278 adapter = event.getAdapter(IPropertySource.class);
279 assertNotNull(adapter);
280 assertTrue(adapter instanceof TraceEventPropertySource);
281
282 TraceEventPropertySource eventSource = (TraceEventPropertySource)adapter;
283 assertNotNull(eventSource.getPropertyDescriptors());
cfdb727a 284
06b9339e
BH
285 assertEquals("block_rq_remap", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
286 assertEquals(TraceLogLevel.TRACE_EMERG.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
287 assertEquals(TraceEventType.TRACEPOINT.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
288 assertEquals(TraceEnablement.ENABLED.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
cfdb727a 289
d132bcc7
BH
290 // ------------------------------------------------------------------------
291 // Verify Probe Event Properties (adapter)
292 // ------------------------------------------------------------------------
293 assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
cfdb727a 294
d132bcc7 295 TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
cfdb727a 296
d132bcc7
BH
297 adapter = probeEvent.getAdapter(IPropertySource.class);
298 assertNotNull(adapter);
299 assertTrue(adapter instanceof TraceProbeEventPropertySource);
300
301 TraceProbeEventPropertySource probeEventSource = (TraceProbeEventPropertySource)adapter;
302 assertNotNull(probeEventSource.getPropertyDescriptors());
303 assertEquals(4, probeEventSource.getPropertyDescriptors().length);
cfdb727a 304
d132bcc7
BH
305 assertEquals("myevent2", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
306 assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
307 assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
308 assertEquals("0xc0101340", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_ADDRESS_PROPERTY_ID));
cfdb727a 309
d132bcc7 310 assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
cfdb727a 311
d132bcc7 312 probeEvent = (TraceProbeEventComponent) channel0Events[3];
cfdb727a 313
d132bcc7
BH
314 adapter = probeEvent.getAdapter(IPropertySource.class);
315 assertNotNull(adapter);
316 assertTrue(adapter instanceof TraceProbeEventPropertySource);
317
318 probeEventSource = (TraceProbeEventPropertySource)adapter;
319 assertNotNull(probeEventSource.getPropertyDescriptors());
320 assertEquals(5, probeEventSource.getPropertyDescriptors().length);
cfdb727a 321
d132bcc7
BH
322 assertEquals("myevent0", probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
323 assertEquals(TraceEventType.PROBE.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
324 assertEquals(TraceEnablement.ENABLED.name(), probeEventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
325 assertEquals("0x0", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_OFFSET_PROPERTY_ID));
326 assertEquals("init_post", probeEventSource.getPropertyValue(TraceProbeEventPropertySource.TRACE_EVENT_PROBE_SYMBOL_PROPERTY_ID));
cfdb727a 327
d4514365
BH
328 //-------------------------------------------------------------------------
329 // Verify Filter of UST event
330 //-------------------------------------------------------------------------
331 event = (TraceEventComponent) domains[1].getChildren()[1].getChildren()[0];
332 adapter = event.getAdapter(IPropertySource.class);
333 assertEquals("with filter", event.getFilterExpression());
334
a26d90be
BH
335 //-------------------------------------------------------------------------
336 // Delete node
337 //-------------------------------------------------------------------------
338 node.disconnect();
339 node.getParent().removeChild(node);
06b9339e
BH
340 }
341}
This page took 0.066745 seconds and 5 git commands to generate.