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