ctf: Move plugins to their own sub-directory
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.control.ui.tests / src / org / eclipse / tracecompass / lttng2 / control / ui / tests / model / component / TraceControlTreeModelTest.java
CommitLineData
eb1bab5b 1/**********************************************************************
533d0bc3 2 * Copyright (c) 2012, 2015 Ericsson
cfdb727a 3 *
eb1bab5b
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:
eb1bab5b 10 * Bernd Hufmann - Initial API and implementation
2ba3d0a1 11 * Alexandre Montplaisir - Port to JUnit4
b732adaa 12 * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
eb1bab5b 13 **********************************************************************/
2ba3d0a1 14
9bc60be7 15package org.eclipse.tracecompass.lttng2.control.ui.tests.model.component;
eb1bab5b 16
2ba3d0a1
AM
17import static org.junit.Assert.assertEquals;
18import static org.junit.Assert.assertFalse;
19import static org.junit.Assert.assertNotNull;
20import static org.junit.Assert.assertNotSame;
21import static org.junit.Assert.assertNull;
22import static org.junit.Assert.assertTrue;
23
d132bcc7
BH
24import java.io.File;
25import java.net.URL;
26
d132bcc7
BH
27import org.eclipse.core.runtime.FileLocator;
28import org.eclipse.core.runtime.Path;
d8a4fd60 29import org.eclipse.jdt.annotation.NonNull;
b732adaa 30import org.eclipse.remote.core.IRemoteConnection;
eb1bab5b 31import org.eclipse.swt.graphics.Image;
9bc60be7
AM
32import org.eclipse.tracecompass.internal.lttng2.control.core.model.LogLevelType;
33import org.eclipse.tracecompass.internal.lttng2.control.core.model.TargetNodeState;
34import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceChannelOutputType;
35import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceEnablement;
36import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceEventType;
37import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceLogLevel;
38import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceSessionState;
39import org.eclipse.tracecompass.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
40import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.ITraceControlComponent;
41import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.BaseEventComponent;
42import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.KernelProviderComponent;
43import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
44import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
45import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
46import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
47import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceProbeEventComponent;
48import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceProviderGroup;
49import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
50import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup;
51import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.UstProviderComponent;
52import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.ILttngControlService;
53import org.eclipse.tracecompass.internal.lttng2.control.ui.views.service.LTTngControlService;
b6b4e8b4 54import org.eclipse.tracecompass.tmf.remote.core.proxy.TmfRemoteConnectionFactory;
eb1bab5b
BH
55import org.junit.After;
56import org.junit.Before;
2ba3d0a1 57import org.junit.Test;
9269df72 58import org.osgi.framework.FrameworkUtil;
eb1bab5b
BH
59
60/**
2ba3d0a1
AM
61 * The class <code>TraceControlTreeModelTest</code> contains tests for the tree
62 * component classes.
eb1bab5b 63 */
2ba3d0a1 64public class TraceControlTreeModelTest {
cfdb727a 65
a26d90be
BH
66 // ------------------------------------------------------------------------
67 // Constants
68 // ------------------------------------------------------------------------
69
d132bcc7
BH
70 private static final String TEST_STREAM = "ListInfoTest.cfg";
71 private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
4ea599a5 72 private static final String TARGET_NODE_NAME = "myNode";
cfdb727a 73
eb1bab5b
BH
74 // ------------------------------------------------------------------------
75 // Test data
76 // ------------------------------------------------------------------------
cfdb727a 77
b6b4e8b4 78 private IRemoteConnection fHost = TmfRemoteConnectionFactory.getLocalConnection();
d8a4fd60 79 private @NonNull TestRemoteSystemProxy fProxy = new TestRemoteSystemProxy(fHost);
cfdb727a
AM
80 private String fTestFile;
81
eb1bab5b
BH
82 // ------------------------------------------------------------------------
83 // Housekeeping
84 // ------------------------------------------------------------------------
85
86 /**
87 * Perform pre-test initialization.
88 *
89 * @throws Exception
90 * if the initialization fails for some reason
eb1bab5b 91 */
eb1bab5b
BH
92 @Before
93 public void setUp() throws Exception {
9269df72 94 URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
d132bcc7
BH
95 File testfile = new File(FileLocator.toFileURL(location).toURI());
96 fTestFile = testfile.getAbsolutePath();
eb1bab5b
BH
97 }
98
99 /**
100 * Perform post-test clean-up.
eb1bab5b 101 */
eb1bab5b 102 @After
2ba3d0a1 103 public void tearDown() {
b957fb8c 104 TraceControlTestFacility.getInstance().waitForJobs();
eb1bab5b 105 }
cfdb727a 106
eb1bab5b
BH
107 /**
108 * Run the TraceControlComponent.
109 */
2ba3d0a1 110 @Test
b732adaa 111 public void testTraceControlComponents() {
cfdb727a 112
d132bcc7
BH
113 fProxy.setTestFile(fTestFile);
114 fProxy.setScenario(SCEN_LIST_INFO_TEST);
cfdb727a 115
eb1bab5b
BH
116 ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
117
d8a4fd60 118 TargetNodeComponent node = new TargetNodeComponent(TARGET_NODE_NAME, root, fProxy);
eb1bab5b
BH
119
120 root.addChild(node);
121 node.connect();
122
b732adaa 123 TraceControlTestFacility.getInstance().waitForConnect(node);
eb1bab5b
BH
124 TraceControlTestFacility.getInstance().waitForJobs();
125
eb1bab5b
BH
126 // ------------------------------------------------------------------------
127 // Verify Parameters of TargetNodeComponent
128 // ------------------------------------------------------------------------
b732adaa 129 assertEquals("Local", node.getToolTip()); // assigned in createLocalHost() above
eb1bab5b
BH
130 Image connectedImage = node.getImage();
131 assertNotNull(connectedImage);
132 assertEquals(TargetNodeState.CONNECTED, node.getTargetNodeState());
133 assertNotNull(node.getControlService());
134 ILttngControlService service = node.getControlService();
135 assertTrue(service instanceof LTTngControlService);
136 node.setControlService(service);
137 assertTrue(node.getControlService() instanceof LTTngControlService);
138
eb1bab5b
BH
139
140 // ------------------------------------------------------------------------
141 // Verify Children of TargetNodeComponent
142 // ------------------------------------------------------------------------
143 ITraceControlComponent[] groups = node.getChildren();
144 assertNotNull(groups);
145 assertEquals(2, groups.length);
cfdb727a 146
eb1bab5b
BH
147 assertTrue(groups[0] instanceof TraceProviderGroup);
148 assertTrue(groups[1] instanceof TraceSessionGroup);
cfdb727a 149
eb1bab5b
BH
150 assertEquals("Provider", groups[0].getName());
151 assertEquals("Sessions", groups[1].getName());
152
153 // ------------------------------------------------------------------------
154 // Verify TraceProviderGroup
155 // ------------------------------------------------------------------------
156 ITraceControlComponent[] providers = groups[0].getChildren();
157
158 assertNotNull(providers);
159 assertEquals(3, providers.length);
160
161 // ------------------------------------------------------------------------
a07c7629 162 // Verify KernelProviderComponent
eb1bab5b
BH
163 // ------------------------------------------------------------------------
164 KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
165
166 // ------------------------------------------------------------------------
167 // Verify event info (kernel provider)
168 // ------------------------------------------------------------------------
169 ITraceControlComponent[] events = kernelProvider.getChildren();
170 assertNotNull(events);
171 assertEquals(3, events.length);
172
173 BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
174 assertNotNull(baseEventInfo);
175 assertEquals("sched_kthread_stop", baseEventInfo.getName());
176 assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
177 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
178
179 baseEventInfo = (BaseEventComponent) events[1];
180 assertEquals("sched_kthread_stop_ret", baseEventInfo.getName());
181 assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
182 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
183
184 baseEventInfo = (BaseEventComponent) events[2];
185 assertEquals("sched_wakeup_new", baseEventInfo.getName());
186 assertEquals(TraceLogLevel.TRACE_EMERG, baseEventInfo.getLogLevel());
187 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
188
189 // ------------------------------------------------------------------------
190 // Verify UstProviderComponent
191 // ------------------------------------------------------------------------
192 UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
2e74131b 193 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustProvider.getName());
eb1bab5b
BH
194 assertEquals(9379, ustProvider.getPid());
195
196 // ------------------------------------------------------------------------
197 // Verify event info (UST provider)
198 // ------------------------------------------------------------------------
199 events = ustProvider.getChildren();
200 assertNotNull(events);
201 assertEquals(2, events.length);
202
203 baseEventInfo = (BaseEventComponent) events[0];
204 assertNotNull(baseEventInfo);
205 assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
4775bcbf 206 assertEquals(TraceLogLevel.TRACE_DEBUG_MODULE, baseEventInfo.getLogLevel());
eb1bab5b
BH
207 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
208
209 baseEventInfo = (BaseEventComponent) events[1];
210 assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
211 assertEquals(TraceLogLevel.TRACE_INFO, baseEventInfo.getLogLevel());
212 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
213
214 // ------------------------------------------------------------------------
215 // Verify UstProviderComponent
216 // ------------------------------------------------------------------------
217 ustProvider = (UstProviderComponent) providers[2];
2e74131b 218 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=4852]", ustProvider.getName());
eb1bab5b 219 assertEquals(4852, ustProvider.getPid());
cfdb727a 220
eb1bab5b
BH
221 // verify getters and setter
222 verifyUstProviderGettersSetters(ustProvider);
223
224 // ------------------------------------------------------------------------
225 // Verify event info (UST provider)
226 // ------------------------------------------------------------------------
227 events = ustProvider.getChildren();
228 assertNotNull(events);
229 assertEquals(2, events.length);
230
231 baseEventInfo = (BaseEventComponent) events[0];
232 assertNotNull(baseEventInfo);
233 assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo.getName());
234 assertEquals(TraceLogLevel.TRACE_WARNING, baseEventInfo.getLogLevel());
235 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
236
237 baseEventInfo = (BaseEventComponent) events[1];
238 assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
4775bcbf 239 assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, baseEventInfo.getLogLevel());
eb1bab5b 240 assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
cfdb727a 241
eb1bab5b
BH
242 // verify getters and setters
243 verifyBaseEventGettersSetters(baseEventInfo);
cfdb727a 244
eb1bab5b
BH
245 // ------------------------------------------------------------------------
246 // Verify TraceSessionGroup
247 // ------------------------------------------------------------------------
248 ITraceControlComponent[] sessions = groups[1].getChildren();
249 assertNotNull(sessions);
250 assertEquals(2, sessions.length);
251 for (int i = 0; i < sessions.length; i++) {
252 assertTrue(sessions[i] instanceof TraceSessionComponent);
253 }
254 assertEquals("mysession1", sessions[0].getName());
255 assertEquals("mysession", sessions[1].getName());
256
257 // ------------------------------------------------------------------------
258 // Verify TraceSessionComponent
259 // ------------------------------------------------------------------------
260 TraceSessionComponent session = (TraceSessionComponent)sessions[1];
261 assertEquals("mysession", session.getName());
262 assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session.getSessionPath());
263 assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
264
265 // Verify setters and setters
266 verifySessionGetterSetters(session);
cfdb727a 267
eb1bab5b
BH
268 ITraceControlComponent[] domains = session.getChildren();
269 assertNotNull(domains);
270 assertEquals(2, domains.length);
cfdb727a 271
eb1bab5b
BH
272 // ------------------------------------------------------------------------
273 // Verify Kernel domain
274 // ------------------------------------------------------------------------
275 assertEquals("Kernel", domains[0].getName());
276 ITraceControlComponent[] channels = domains[0].getChildren();
277 assertNotNull(channels);
278 assertEquals(2, channels.length);
279
4ea599a5
BH
280 // Verify setters and setters
281 verifyDomainGettersSetters((TraceDomainComponent) domains[0]);
cfdb727a 282
eb1bab5b
BH
283 // ------------------------------------------------------------------------
284 // Verify Kernel's channel0
285 // ------------------------------------------------------------------------
286 assertTrue(channels[0] instanceof TraceChannelComponent);
cfdb727a 287 TraceChannelComponent channel = (TraceChannelComponent) channels[0];
eb1bab5b
BH
288 assertEquals("channel0", channel.getName());
289 assertEquals(4, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
290 assertEquals("splice()", channel.getOutputType().getInName());
291 assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
eb1bab5b
BH
292 assertEquals(false, channel.isOverwriteMode());
293 assertEquals(200, channel.getReadTimer());
294 assertEquals(TraceEnablement.ENABLED, channel.getState());
295 assertEquals(262144, channel.getSubBufferSize());
296 assertEquals(0, channel.getSwitchTimer());
297
298 // ------------------------------------------------------------------------
299 // Verify event info (kernel, channel0)
300 // ------------------------------------------------------------------------
301 ITraceControlComponent[] channel0Events = channel.getChildren();
302 assertNotNull(channel0Events);
d132bcc7 303 assertEquals(5, channel0Events.length);
eb1bab5b
BH
304 assertTrue(channel0Events[0] instanceof TraceEventComponent);
305 assertTrue(channel0Events[1] instanceof TraceEventComponent);
d132bcc7
BH
306 assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
307 assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
308 assertTrue(channel0Events[4] instanceof TraceEventComponent);
cfdb727a 309
eb1bab5b
BH
310 TraceEventComponent event = (TraceEventComponent) channel0Events[0];
311 assertEquals("block_rq_remap", event.getName());
312 assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
313 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
314 assertEquals(TraceEnablement.ENABLED, event.getState());
cfdb727a 315
eb1bab5b
BH
316 event = (TraceEventComponent) channel0Events[1];
317 assertEquals("block_bio_remap", event.getName());
318 assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
319 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
320 assertEquals(TraceEnablement.DISABLED, event.getState());
321
d132bcc7
BH
322 TraceProbeEventComponent probeEvent = (TraceProbeEventComponent) channel0Events[2];
323 assertEquals("myevent2", probeEvent.getName());
324 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
325 assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
326 assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
327 assertEquals("0xc0101340", probeEvent.getAddress());
328 assertNull(probeEvent.getOffset());
329 assertNull(probeEvent.getSymbol());
330
4ea599a5
BH
331 // verify getters and setter
332 verifyProbeEventGettersSetters(probeEvent);
333
d132bcc7
BH
334 probeEvent = (TraceProbeEventComponent) channel0Events[3];
335 assertEquals("myevent0", probeEvent.getName());
336 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, probeEvent.getLogLevel());
337 assertEquals(TraceEventType.PROBE, probeEvent.getEventType());
338 assertEquals(TraceEnablement.ENABLED, probeEvent.getState());
339 assertNull(probeEvent.getAddress());
340 assertEquals("0x0", probeEvent.getOffset());
341 assertEquals("init_post", probeEvent.getSymbol());
cfdb727a 342
d132bcc7
BH
343 event = (TraceEventComponent) channel0Events[4];
344 assertEquals("syscalls", event.getName());
345 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
346 assertEquals(TraceEventType.SYSCALL, event.getEventType());
347 assertEquals(TraceEnablement.ENABLED, event.getState());
cfdb727a 348
eb1bab5b
BH
349 // ------------------------------------------------------------------------
350 // Verify Kernel's channel1
351 // ------------------------------------------------------------------------
352 assertEquals("channel1", channels[1].getName());
cfdb727a 353 channel = (TraceChannelComponent) channels[1];
eb1bab5b 354 assertEquals(4, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
355 assertEquals("splice()", channel.getOutputType().getInName());
356 assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
eb1bab5b
BH
357 assertEquals(true, channel.isOverwriteMode());
358 assertEquals(400, channel.getReadTimer());
359 assertEquals(TraceEnablement.DISABLED, channel.getState());
360 assertEquals(524288, channel.getSubBufferSize());
361 assertEquals(100, channel.getSwitchTimer());
362
363 // ------------------------------------------------------------------------
364 // Verify event info (kernel, channel1)
365 // ------------------------------------------------------------------------
366 ITraceControlComponent[] channel1Events = channels[1].getChildren();
367 assertEquals(0, channel1Events.length);
368
369 // ------------------------------------------------------------------------
370 // Verify domain UST global
371 // ------------------------------------------------------------------------
372 assertEquals("UST global", domains[1].getName());
cfdb727a 373
eb1bab5b 374 ITraceControlComponent[] ustChannels = domains[1].getChildren();
cfdb727a 375
eb1bab5b
BH
376 for (int i = 0; i < ustChannels.length; i++) {
377 assertTrue(ustChannels[i] instanceof TraceChannelComponent);
378 }
379
380 // ------------------------------------------------------------------------
381 // Verify UST global's mychannel1
382 // ------------------------------------------------------------------------
cfdb727a 383 channel = (TraceChannelComponent) ustChannels[0];
eb1bab5b
BH
384 assertEquals("mychannel1", channel.getName());
385 assertEquals(8, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
386 assertEquals("mmap()", channel.getOutputType().getInName());
387 assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
eb1bab5b
BH
388 assertEquals(true, channel.isOverwriteMode());
389 assertEquals(100, channel.getReadTimer());
390 assertEquals(TraceEnablement.DISABLED, channel.getState());
391 assertEquals(8192, channel.getSubBufferSize());
392 assertEquals(200, channel.getSwitchTimer());
cfdb727a
AM
393
394 // verify getters and setters
eb1bab5b
BH
395 verifyChannelGettersSetters(channel);
396
397 // ------------------------------------------------------------------------
398 // Verify event info (UST global, mychannel1)
399 // ------------------------------------------------------------------------
400 ITraceControlComponent[] ustEvents = channel.getChildren();
401 assertEquals(0, ustEvents.length);
402
403 // ------------------------------------------------------------------------
404 // Verify UST global's channel0
405 // ------------------------------------------------------------------------
406 channel = (TraceChannelComponent) ustChannels[1];
407 assertEquals("channel0", channel.getName());
408 assertEquals(4, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
409 assertEquals("mmap()", channel.getOutputType().getInName());
410 assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
eb1bab5b
BH
411 assertEquals(false, channel.isOverwriteMode());
412 assertEquals(200, channel.getReadTimer());
413 assertEquals(TraceEnablement.ENABLED, channel.getState());
414 assertEquals(4096, channel.getSubBufferSize());
415 assertEquals(0, channel.getSwitchTimer());
416
417 // ------------------------------------------------------------------------
418 // Verify event info (UST global, channel0)
419 // ------------------------------------------------------------------------
420 ustEvents = channel.getChildren();
54f2dcc0 421 assertEquals(4, ustEvents.length);
cfdb727a 422
eb1bab5b
BH
423 event = (TraceEventComponent) ustEvents[0];
424 assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
4775bcbf 425 assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
54f2dcc0
BH
426 assertEquals(LogLevelType.LOGLEVEL_ONLY, event.getLogLevelType());
427 assertEquals(LogLevelType.LOGLEVEL_ONLY.getShortName(), event.getLogLevelType().getShortName());
eb1bab5b
BH
428 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
429 assertEquals(TraceEnablement.DISABLED, event.getState());
cfdb727a 430
eb1bab5b 431 event = (TraceEventComponent) ustEvents[1];
54f2dcc0
BH
432 assertEquals("ust_tests_hello:tptest_sighandler1", event.getName());
433 assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
434 assertEquals(LogLevelType.LOGLEVEL, event.getLogLevelType());
435 assertEquals(LogLevelType.LOGLEVEL.getShortName(), event.getLogLevelType().getShortName());
436 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
437 assertEquals(TraceEnablement.DISABLED, event.getState());
438
439 event = (TraceEventComponent) ustEvents[2];
440 assertEquals("ust_tests_hello:tptest_sighandler2", event.getName());
441 assertEquals(TraceLogLevel.TRACE_DEBUG_SYSTEM, event.getLogLevel());
442 assertEquals(LogLevelType.LOGLEVEL_NONE, event.getLogLevelType());
443 assertEquals(LogLevelType.LOGLEVEL_NONE.getShortName(), event.getLogLevelType().getShortName());
444 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
445 assertEquals(TraceEnablement.DISABLED, event.getState());
446
447 event = (TraceEventComponent) ustEvents[3];
448 assertEquals("*", event.getName());
4775bcbf 449 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
eb1bab5b
BH
450 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
451 assertEquals(TraceEnablement.ENABLED, event.getState());
cfdb727a 452
eb1bab5b
BH
453 // verify getters and setters
454 verifyEventGettersSetters(event);
cfdb727a 455
eb1bab5b
BH
456 // disconnect
457 node.disconnect();
458 assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
459 assertNotNull(node.getImage());
460 assertNotSame(connectedImage, node.getImage());
cfdb727a 461
a26d90be 462 node.getParent().removeChild(node);
eb1bab5b 463 }
cfdb727a 464
0a78d11a 465 private static void verifySessionGetterSetters(TraceSessionComponent session) {
eb1bab5b
BH
466 // save original values
467 String name = session.getName();
468 String origPath = session.getSessionPath();
469 TraceSessionState origState = session.getSessionState();
470
471 // test cases
472 session.setName("newName");
473 assertEquals("newName", session.getName());
cfdb727a 474
eb1bab5b
BH
475 session.setSessionPath("/home/user/tmp");
476 assertEquals("/home/user/tmp", session.getSessionPath());
477
478 session.setSessionState(TraceSessionState.INACTIVE);
479 assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
480 Image inactiveImage = session.getImage();
481 assertNotNull(inactiveImage);
cfdb727a 482
eb1bab5b
BH
483 session.setSessionState("active");
484 assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
485
486 Image activeImage = session.getImage();
487 assertNotNull(activeImage);
488 assertNotSame(activeImage, inactiveImage);
489
4ea599a5
BH
490 ITraceControlComponent[] children = session.getChildren();
491 TraceDomainComponent[] domains = session.getDomains();
492
493 assertEquals(children.length, domains.length);
494
495 for (int i = 0; i < domains.length; i++) {
496 assertEquals(domains[i].getName(), children[i].getName());
497 }
cfdb727a
AM
498
499 // restore original values
eb1bab5b
BH
500 session.setName(name);
501 session.setSessionPath(origPath);
502 session.setSessionState(origState);
503 }
cfdb727a 504
0a78d11a 505 private static void verifyDomainGettersSetters(TraceDomainComponent domain) {
4ea599a5
BH
506 // save original values
507 boolean isKernel = domain.isKernel();
508
509 domain.setIsKernel(false);
510 assertFalse(domain.isKernel());
511 domain.setIsKernel(true);
512 assertTrue(domain.isKernel());
513
514 ITraceControlComponent[] children = domain.getChildren();
515 TraceChannelComponent[] channels = domain.getChannels();
516
517 assertEquals(children.length, channels.length);
518
519 for (int i = 0; i < channels.length; i++) {
520 assertEquals(channels[i].getName(), children[i].getName());
521 }
522
523 String nodeName = domain.getTargetNode().getName();
524 assertEquals(TARGET_NODE_NAME, nodeName);
525
526 // restore original values
527 domain.setIsKernel(isKernel);
528 }
eb1bab5b 529
0a78d11a 530 private static void verifyBaseEventGettersSetters(BaseEventComponent event) {
eb1bab5b
BH
531 // save original values
532 String name = event.getName();
533 TraceLogLevel level = event.getLogLevel();
534 TraceEventType type = event.getEventType();
cfdb727a 535
eb1bab5b
BH
536 // test cases
537 event.setName("newName");
538 assertEquals("newName", event.getName());
cfdb727a 539
eb1bab5b
BH
540 event.setLogLevel(TraceLogLevel.TRACE_INFO);
541 assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
4775bcbf 542 event.setLogLevel("TRACE_ALERT");
eb1bab5b
BH
543 assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
544
545 event.setEventType(TraceEventType.UNKNOWN);
546 assertEquals(TraceEventType.UNKNOWN, event.getEventType());
547 event.setEventType("tracepoint");
548 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
cfdb727a 549
eb1bab5b
BH
550 // restore original values
551 event.setName(name);
552 event.setLogLevel(level);
553 event.setEventType(type);
554 }
cfdb727a 555
0a78d11a 556 private static void verifyEventGettersSetters(TraceEventComponent event) {
eb1bab5b
BH
557 // save original values
558 String name = event.getName();
559 TraceLogLevel level = event.getLogLevel();
560 TraceEventType type = event.getEventType();
561 TraceEnablement state = event.getState();
cfdb727a 562
eb1bab5b
BH
563 // test cases
564 event.setName("newName");
565 assertEquals("newName", event.getName());
cfdb727a 566
eb1bab5b
BH
567 event.setLogLevel(TraceLogLevel.TRACE_INFO);
568 assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
4775bcbf 569 event.setLogLevel("TRACE_ALERT");
eb1bab5b
BH
570 assertEquals(TraceLogLevel.TRACE_ALERT, event.getLogLevel());
571
572 event.setEventType(TraceEventType.UNKNOWN);
573 assertEquals(TraceEventType.UNKNOWN, event.getEventType());
574 event.setEventType("tracepoint");
575 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
cfdb727a 576
eb1bab5b
BH
577 event.setState("disabled");
578 assertEquals(TraceEnablement.DISABLED, event.getState());
cfdb727a 579
eb1bab5b
BH
580 Image disabledImage = event.getImage();
581 assertNotNull(disabledImage);
582
583 event.setState(TraceEnablement.ENABLED);
584 assertEquals(TraceEnablement.ENABLED, event.getState());
585
586 Image enabledImage = event.getImage();
587 assertNotNull(enabledImage);
588 assertNotSame(enabledImage, disabledImage);
589
590 // restore original values
591 event.setName(name);
592 event.setLogLevel(level);
593 event.setEventType(type);
594 event.setState(state);
595 }
cfdb727a 596
0a78d11a 597 private static void verifyProbeEventGettersSetters(TraceProbeEventComponent event) {
4ea599a5
BH
598 // save original values
599 String address = event.getAddress();
600 String offset = event.getOffset();
601 String symbol = event.getSymbol();
cfdb727a 602
4ea599a5
BH
603 // test cases
604 event.setAddress("0xffff1234");
605 assertEquals("0xffff1234", event.getAddress());
cfdb727a 606
4ea599a5
BH
607 event.setOffset("0x1234");
608 assertEquals("0x1234", event.getOffset());
cfdb727a 609
4ea599a5
BH
610 event.setSymbol("init");
611 assertEquals("init", event.getSymbol());
cfdb727a 612
4ea599a5
BH
613 // restore original values
614 event.setAddress(address);
615 event.setOffset(offset);
616 event.setSymbol(symbol);
617 }
cfdb727a 618
0a78d11a 619 private static void verifyChannelGettersSetters(TraceChannelComponent channel) {
eb1bab5b
BH
620 // save original values
621 String name = channel.getName();
622 int nbSubBuffers = channel.getNumberOfSubBuffers();
0ad9fc89 623 TraceChannelOutputType type = channel.getOutputType();
eb1bab5b
BH
624 boolean mode = channel.isOverwriteMode();
625 long readTimer = channel.getReadTimer();
626 TraceEnablement state = channel.getState();
627 long subBufferSize = channel.getSubBufferSize();
628 long switchTimer = channel.getSwitchTimer();
cfdb727a 629
eb1bab5b
BH
630 // test cases
631 channel.setName("newName");
632 assertEquals("newName", channel.getName());
cfdb727a 633
eb1bab5b
BH
634 channel.setNumberOfSubBuffers(2);
635 assertEquals(2, channel.getNumberOfSubBuffers());
cfdb727a 636
eb1bab5b 637 channel.setOutputType("splice()");
0ad9fc89
JRJ
638 assertEquals("splice()", channel.getOutputType().getInName());
639 assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
cfdb727a 640
eb1bab5b
BH
641 channel.setOverwriteMode(false);
642 assertEquals(false, channel.isOverwriteMode());
cfdb727a 643
eb1bab5b
BH
644 channel.setReadTimer(250);
645 assertEquals(250, channel.getReadTimer());
cfdb727a 646
eb1bab5b
BH
647 channel.setState("enabled");
648 assertEquals(TraceEnablement.ENABLED, channel.getState());
cfdb727a 649
eb1bab5b
BH
650 Image enabledImage = channel.getImage();
651 assertNotNull(enabledImage);
652 channel.setState(TraceEnablement.DISABLED);
653 assertEquals(TraceEnablement.DISABLED, channel.getState());
654
655 Image disabledImage = channel.getImage();
656 assertNotNull(disabledImage);
657 assertNotSame(enabledImage, disabledImage);
cfdb727a 658
eb1bab5b
BH
659 channel.setSubBufferSize(1024);
660 assertEquals(1024, channel.getSubBufferSize());
cfdb727a 661
eb1bab5b
BH
662 channel.setSwitchTimer(1000);
663 assertEquals(1000, channel.getSwitchTimer());
664
665 // restore original values
666 channel.setName(name);
667 channel.setNumberOfSubBuffers(nbSubBuffers);
668 channel.setOutputType(type);
669 channel.setOverwriteMode(mode);
670 channel.setReadTimer(readTimer);
671 channel.setState(state);
672 channel.setSubBufferSize(subBufferSize);
673 channel.setSwitchTimer(switchTimer);
674 }
cfdb727a 675
0a78d11a 676 private static void verifyUstProviderGettersSetters(UstProviderComponent ustProvider) {
eb1bab5b
BH
677 // save original values
678 String name = ustProvider.getName();
679 int pid = ustProvider.getPid();
cfdb727a 680
eb1bab5b
BH
681 // test cases
682 ustProvider.setName("newName");
683 assertEquals("newName", ustProvider.getName());
684
685 ustProvider.setPid(9876);
686 assertEquals(9876, ustProvider.getPid());
cfdb727a 687
eb1bab5b
BH
688 // restore original values
689 ustProvider.setName(name);
690 ustProvider.setPid(pid);
691 }
692
ec619615 693}
This page took 0.131525 seconds and 5 git commands to generate.