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