1 /**********************************************************************
2 * Copyright (c) 2012, 2013 Ericsson
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
10 * Bernd Hufmann - Initial API and implementation
11 * Alexandre Montplaisir - Port to JUnit4
12 **********************************************************************/
14 package org
.eclipse
.linuxtools
.lttng2
.ui
.tests
.control
.model
.component
;
16 import static org
.junit
.Assert
.assertEquals
;
17 import static org
.junit
.Assert
.assertFalse
;
18 import static org
.junit
.Assert
.assertNotNull
;
19 import static org
.junit
.Assert
.assertNotSame
;
20 import static org
.junit
.Assert
.assertNull
;
21 import static org
.junit
.Assert
.assertTrue
;
26 import org
.eclipse
.core
.runtime
.FileLocator
;
27 import org
.eclipse
.core
.runtime
.Path
;
28 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TargetNodeState
;
29 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceEnablement
;
30 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceEventType
;
31 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceLogLevel
;
32 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceSessionState
;
33 import org
.eclipse
.linuxtools
.internal
.lttng2
.stubs
.service
.TestRemoteSystemProxy
;
34 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.ITraceControlComponent
;
35 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.BaseEventComponent
;
36 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.KernelProviderComponent
;
37 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TargetNodeComponent
;
38 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceChannelComponent
;
39 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceDomainComponent
;
40 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceEventComponent
;
41 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceProbeEventComponent
;
42 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceProviderGroup
;
43 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceSessionComponent
;
44 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.TraceSessionGroup
;
45 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
.UstProviderComponent
;
46 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.service
.ILttngControlService
;
47 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.service
.LTTngControlService
;
48 import org
.eclipse
.rse
.core
.RSECorePlugin
;
49 import org
.eclipse
.rse
.core
.model
.IHost
;
50 import org
.eclipse
.rse
.core
.model
.ISystemProfile
;
51 import org
.eclipse
.rse
.core
.model
.ISystemRegistry
;
52 import org
.eclipse
.swt
.graphics
.Image
;
53 import org
.junit
.After
;
54 import org
.junit
.Before
;
55 import org
.junit
.Test
;
56 import org
.osgi
.framework
.FrameworkUtil
;
59 * The class <code>TraceControlTreeModelTest</code> contains tests for the tree
62 public class TraceControlTreeModelTest
{
64 // ------------------------------------------------------------------------
66 // ------------------------------------------------------------------------
68 private static final String TEST_STREAM
= "ListInfoTest.cfg";
69 private static final String SCEN_LIST_INFO_TEST
= "ListInfoTest";
70 private static final String TARGET_NODE_NAME
= "myNode";
72 // ------------------------------------------------------------------------
74 // ------------------------------------------------------------------------
76 private TestRemoteSystemProxy fProxy
;
77 private String fTestFile
;
79 // ------------------------------------------------------------------------
81 // ------------------------------------------------------------------------
84 * Perform pre-test initialization.
87 * if the initialization fails for some reason
90 public void setUp() throws Exception
{
91 fProxy
= new TestRemoteSystemProxy();
92 URL location
= FileLocator
.find(FrameworkUtil
.getBundle(this.getClass()), new Path(TraceControlTestFacility
.DIRECTORY
+ File
.separator
+ TEST_STREAM
), null);
93 File testfile
= new File(FileLocator
.toFileURL(location
).toURI());
94 fTestFile
= testfile
.getAbsolutePath();
98 * Perform post-test clean-up.
101 public void tearDown() {
102 TraceControlTestFacility
.getInstance().waitForJobs();
106 * Run the TraceControlComponent.
109 * This will fail the test
112 public void testTraceControlComponents() throws Exception
{
114 fProxy
.setTestFile(fTestFile
);
115 fProxy
.setScenario(SCEN_LIST_INFO_TEST
);
117 ITraceControlComponent root
= TraceControlTestFacility
.getInstance().getControlView().getTraceControlRoot();
119 ISystemRegistry registry
= RSECorePlugin
.getTheSystemRegistry();
120 ISystemProfile profile
= registry
.createSystemProfile("myProfile", true);
121 IHost host
= registry
.createLocalHost(profile
, "myProfile", "user");
123 TargetNodeComponent node
= new TargetNodeComponent(TARGET_NODE_NAME
, root
, host
, fProxy
);
128 TraceControlTestFacility
.getInstance().waitForJobs();
130 // ------------------------------------------------------------------------
131 // Verify Parameters of TargetNodeComponent
132 // ------------------------------------------------------------------------
133 assertEquals("LOCALHOST", node
.getHostName()); // assigned in createLocalHost() above
134 assertEquals("LOCALHOST", node
.getToolTip()); // assigned in createLocalHost() above
135 Image connectedImage
= node
.getImage();
136 assertNotNull(connectedImage
);
137 assertEquals(TargetNodeState
.CONNECTED
, node
.getTargetNodeState());
138 assertNotNull(node
.getControlService());
139 ILttngControlService service
= node
.getControlService();
140 assertTrue(service
instanceof LTTngControlService
);
141 node
.setControlService(service
);
142 assertTrue(node
.getControlService() instanceof LTTngControlService
);
144 assertTrue(node
.isPassiveCommunicationsListener());
146 // ------------------------------------------------------------------------
147 // Verify Children of TargetNodeComponent
148 // ------------------------------------------------------------------------
149 ITraceControlComponent
[] groups
= node
.getChildren();
150 assertNotNull(groups
);
151 assertEquals(2, groups
.length
);
153 assertTrue(groups
[0] instanceof TraceProviderGroup
);
154 assertTrue(groups
[1] instanceof TraceSessionGroup
);
156 assertEquals("Provider", groups
[0].getName());
157 assertEquals("Sessions", groups
[1].getName());
159 // ------------------------------------------------------------------------
160 // Verify TraceProviderGroup
161 // ------------------------------------------------------------------------
162 ITraceControlComponent
[] providers
= groups
[0].getChildren();
164 assertNotNull(providers
);
165 assertEquals(3, providers
.length
);
167 // ------------------------------------------------------------------------
168 // Verify KernelProviderComponent
169 // ------------------------------------------------------------------------
170 KernelProviderComponent kernelProvider
= (KernelProviderComponent
) providers
[0];
172 // ------------------------------------------------------------------------
173 // Verify event info (kernel provider)
174 // ------------------------------------------------------------------------
175 ITraceControlComponent
[] events
= kernelProvider
.getChildren();
176 assertNotNull(events
);
177 assertEquals(3, events
.length
);
179 BaseEventComponent baseEventInfo
= (BaseEventComponent
) events
[0];
180 assertNotNull(baseEventInfo
);
181 assertEquals("sched_kthread_stop", baseEventInfo
.getName());
182 assertEquals(TraceLogLevel
.TRACE_EMERG
, baseEventInfo
.getLogLevel());
183 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
185 baseEventInfo
= (BaseEventComponent
) events
[1];
186 assertEquals("sched_kthread_stop_ret", baseEventInfo
.getName());
187 assertEquals(TraceLogLevel
.TRACE_EMERG
, baseEventInfo
.getLogLevel());
188 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
190 baseEventInfo
= (BaseEventComponent
) events
[2];
191 assertEquals("sched_wakeup_new", baseEventInfo
.getName());
192 assertEquals(TraceLogLevel
.TRACE_EMERG
, baseEventInfo
.getLogLevel());
193 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
195 // ------------------------------------------------------------------------
196 // Verify UstProviderComponent
197 // ------------------------------------------------------------------------
198 UstProviderComponent ustProvider
= (UstProviderComponent
) providers
[1];
199 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=9379]", ustProvider
.getName());
200 assertEquals(9379, ustProvider
.getPid());
202 // ------------------------------------------------------------------------
203 // Verify event info (UST provider)
204 // ------------------------------------------------------------------------
205 events
= ustProvider
.getChildren();
206 assertNotNull(events
);
207 assertEquals(2, events
.length
);
209 baseEventInfo
= (BaseEventComponent
) events
[0];
210 assertNotNull(baseEventInfo
);
211 assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo
.getName());
212 assertEquals(TraceLogLevel
.TRACE_DEBUG_MODULE
, baseEventInfo
.getLogLevel());
213 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
215 baseEventInfo
= (BaseEventComponent
) events
[1];
216 assertEquals("ust_tests_hello:tptest", baseEventInfo
.getName());
217 assertEquals(TraceLogLevel
.TRACE_INFO
, baseEventInfo
.getLogLevel());
218 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
220 // ------------------------------------------------------------------------
221 // Verify UstProviderComponent
222 // ------------------------------------------------------------------------
223 ustProvider
= (UstProviderComponent
) providers
[2];
224 assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=4852]", ustProvider
.getName());
225 assertEquals(4852, ustProvider
.getPid());
227 // verify getters and setter
228 verifyUstProviderGettersSetters(ustProvider
);
230 // ------------------------------------------------------------------------
231 // Verify event info (UST provider)
232 // ------------------------------------------------------------------------
233 events
= ustProvider
.getChildren();
234 assertNotNull(events
);
235 assertEquals(2, events
.length
);
237 baseEventInfo
= (BaseEventComponent
) events
[0];
238 assertNotNull(baseEventInfo
);
239 assertEquals("ust_tests_hello:tptest_sighandler", baseEventInfo
.getName());
240 assertEquals(TraceLogLevel
.TRACE_WARNING
, baseEventInfo
.getLogLevel());
241 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
243 baseEventInfo
= (BaseEventComponent
) events
[1];
244 assertEquals("ust_tests_hello:tptest", baseEventInfo
.getName());
245 assertEquals(TraceLogLevel
.TRACE_DEBUG_FUNCTION
, baseEventInfo
.getLogLevel());
246 assertEquals(TraceEventType
.TRACEPOINT
, baseEventInfo
.getEventType());
248 // verify getters and setters
249 verifyBaseEventGettersSetters(baseEventInfo
);
251 // ------------------------------------------------------------------------
252 // Verify TraceSessionGroup
253 // ------------------------------------------------------------------------
254 ITraceControlComponent
[] sessions
= groups
[1].getChildren();
255 assertNotNull(sessions
);
256 assertEquals(2, sessions
.length
);
257 for (int i
= 0; i
< sessions
.length
; i
++) {
258 assertTrue(sessions
[i
] instanceof TraceSessionComponent
);
260 assertEquals("mysession1", sessions
[0].getName());
261 assertEquals("mysession", sessions
[1].getName());
263 // ------------------------------------------------------------------------
264 // Verify TraceSessionComponent
265 // ------------------------------------------------------------------------
266 TraceSessionComponent session
= (TraceSessionComponent
)sessions
[1];
267 assertEquals("mysession", session
.getName());
268 assertEquals("/home/user/lttng-traces/mysession-20120129-084256", session
.getSessionPath());
269 assertEquals(TraceSessionState
.ACTIVE
, session
.getSessionState());
271 // Verify setters and setters
272 verifySessionGetterSetters(session
);
274 ITraceControlComponent
[] domains
= session
.getChildren();
275 assertNotNull(domains
);
276 assertEquals(2, domains
.length
);
278 // ------------------------------------------------------------------------
279 // Verify Kernel domain
280 // ------------------------------------------------------------------------
281 assertEquals("Kernel", domains
[0].getName());
282 ITraceControlComponent
[] channels
= domains
[0].getChildren();
283 assertNotNull(channels
);
284 assertEquals(2, channels
.length
);
286 // Verify setters and setters
287 verifyDomainGettersSetters((TraceDomainComponent
) domains
[0]);
289 // ------------------------------------------------------------------------
290 // Verify Kernel's channel0
291 // ------------------------------------------------------------------------
292 assertTrue(channels
[0] instanceof TraceChannelComponent
);
293 TraceChannelComponent channel
= (TraceChannelComponent
) channels
[0];
294 assertEquals("channel0", channel
.getName());
295 assertEquals(4, channel
.getNumberOfSubBuffers());
296 assertEquals("splice()", channel
.getOutputType());
297 assertEquals(false, channel
.isOverwriteMode());
298 assertEquals(200, channel
.getReadTimer());
299 assertEquals(TraceEnablement
.ENABLED
, channel
.getState());
300 assertEquals(262144, channel
.getSubBufferSize());
301 assertEquals(0, channel
.getSwitchTimer());
303 // ------------------------------------------------------------------------
304 // Verify event info (kernel, channel0)
305 // ------------------------------------------------------------------------
306 ITraceControlComponent
[] channel0Events
= channel
.getChildren();
307 assertNotNull(channel0Events
);
308 assertEquals(5, channel0Events
.length
);
309 assertTrue(channel0Events
[0] instanceof TraceEventComponent
);
310 assertTrue(channel0Events
[1] instanceof TraceEventComponent
);
311 assertTrue(channel0Events
[2] instanceof TraceProbeEventComponent
);
312 assertTrue(channel0Events
[3] instanceof TraceProbeEventComponent
);
313 assertTrue(channel0Events
[4] instanceof TraceEventComponent
);
315 TraceEventComponent event
= (TraceEventComponent
) channel0Events
[0];
316 assertEquals("block_rq_remap", event
.getName());
317 assertEquals(TraceLogLevel
.TRACE_EMERG
, event
.getLogLevel());
318 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
319 assertEquals(TraceEnablement
.ENABLED
, event
.getState());
321 event
= (TraceEventComponent
) channel0Events
[1];
322 assertEquals("block_bio_remap", event
.getName());
323 assertEquals(TraceLogLevel
.TRACE_EMERG
, event
.getLogLevel());
324 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
325 assertEquals(TraceEnablement
.DISABLED
, event
.getState());
327 TraceProbeEventComponent probeEvent
= (TraceProbeEventComponent
) channel0Events
[2];
328 assertEquals("myevent2", probeEvent
.getName());
329 assertEquals(TraceLogLevel
.LEVEL_UNKNOWN
, probeEvent
.getLogLevel());
330 assertEquals(TraceEventType
.PROBE
, probeEvent
.getEventType());
331 assertEquals(TraceEnablement
.ENABLED
, probeEvent
.getState());
332 assertEquals("0xc0101340", probeEvent
.getAddress());
333 assertNull(probeEvent
.getOffset());
334 assertNull(probeEvent
.getSymbol());
336 // verify getters and setter
337 verifyProbeEventGettersSetters(probeEvent
);
339 probeEvent
= (TraceProbeEventComponent
) channel0Events
[3];
340 assertEquals("myevent0", probeEvent
.getName());
341 assertEquals(TraceLogLevel
.LEVEL_UNKNOWN
, probeEvent
.getLogLevel());
342 assertEquals(TraceEventType
.PROBE
, probeEvent
.getEventType());
343 assertEquals(TraceEnablement
.ENABLED
, probeEvent
.getState());
344 assertNull(probeEvent
.getAddress());
345 assertEquals("0x0", probeEvent
.getOffset());
346 assertEquals("init_post", probeEvent
.getSymbol());
348 event
= (TraceEventComponent
) channel0Events
[4];
349 assertEquals("syscalls", event
.getName());
350 assertEquals(TraceLogLevel
.LEVEL_UNKNOWN
, event
.getLogLevel());
351 assertEquals(TraceEventType
.SYSCALL
, event
.getEventType());
352 assertEquals(TraceEnablement
.ENABLED
, event
.getState());
354 // ------------------------------------------------------------------------
355 // Verify Kernel's channel1
356 // ------------------------------------------------------------------------
357 assertEquals("channel1", channels
[1].getName());
358 channel
= (TraceChannelComponent
) channels
[1];
359 assertEquals(4, channel
.getNumberOfSubBuffers());
360 assertEquals("splice()", channel
.getOutputType());
361 assertEquals(true, channel
.isOverwriteMode());
362 assertEquals(400, channel
.getReadTimer());
363 assertEquals(TraceEnablement
.DISABLED
, channel
.getState());
364 assertEquals(524288, channel
.getSubBufferSize());
365 assertEquals(100, channel
.getSwitchTimer());
367 // ------------------------------------------------------------------------
368 // Verify event info (kernel, channel1)
369 // ------------------------------------------------------------------------
370 ITraceControlComponent
[] channel1Events
= channels
[1].getChildren();
371 assertEquals(0, channel1Events
.length
);
373 // ------------------------------------------------------------------------
374 // Verify domain UST global
375 // ------------------------------------------------------------------------
376 assertEquals("UST global", domains
[1].getName());
378 ITraceControlComponent
[] ustChannels
= domains
[1].getChildren();
380 for (int i
= 0; i
< ustChannels
.length
; i
++) {
381 assertTrue(ustChannels
[i
] instanceof TraceChannelComponent
);
384 // ------------------------------------------------------------------------
385 // Verify UST global's mychannel1
386 // ------------------------------------------------------------------------
387 channel
= (TraceChannelComponent
) ustChannels
[0];
388 assertEquals("mychannel1", channel
.getName());
389 assertEquals(8, channel
.getNumberOfSubBuffers());
390 assertEquals("mmap()", channel
.getOutputType());
391 assertEquals(true, channel
.isOverwriteMode());
392 assertEquals(100, channel
.getReadTimer());
393 assertEquals(TraceEnablement
.DISABLED
, channel
.getState());
394 assertEquals(8192, channel
.getSubBufferSize());
395 assertEquals(200, channel
.getSwitchTimer());
397 // verify getters and setters
398 verifyChannelGettersSetters(channel
);
400 // ------------------------------------------------------------------------
401 // Verify event info (UST global, mychannel1)
402 // ------------------------------------------------------------------------
403 ITraceControlComponent
[] ustEvents
= channel
.getChildren();
404 assertEquals(0, ustEvents
.length
);
406 // ------------------------------------------------------------------------
407 // Verify UST global's channel0
408 // ------------------------------------------------------------------------
409 channel
= (TraceChannelComponent
) ustChannels
[1];
410 assertEquals("channel0", channel
.getName());
411 assertEquals(4, channel
.getNumberOfSubBuffers());
412 assertEquals("mmap()", channel
.getOutputType());
413 assertEquals(false, channel
.isOverwriteMode());
414 assertEquals(200, channel
.getReadTimer());
415 assertEquals(TraceEnablement
.ENABLED
, channel
.getState());
416 assertEquals(4096, channel
.getSubBufferSize());
417 assertEquals(0, channel
.getSwitchTimer());
419 // ------------------------------------------------------------------------
420 // Verify event info (UST global, channel0)
421 // ------------------------------------------------------------------------
422 ustEvents
= channel
.getChildren();
423 assertEquals(2, ustEvents
.length
);
425 event
= (TraceEventComponent
) ustEvents
[0];
426 assertEquals("ust_tests_hello:tptest_sighandler", event
.getName());
427 assertEquals(TraceLogLevel
.TRACE_DEBUG_LINE
, event
.getLogLevel());
428 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
429 assertEquals(TraceEnablement
.DISABLED
, event
.getState());
431 event
= (TraceEventComponent
) ustEvents
[1];
432 assertEquals("*", ustEvents
[1].getName());
433 assertEquals(TraceLogLevel
.LEVEL_UNKNOWN
, event
.getLogLevel());
434 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
435 assertEquals(TraceEnablement
.ENABLED
, event
.getState());
437 // verify getters and setters
438 verifyEventGettersSetters(event
);
442 assertEquals(TargetNodeState
.DISCONNECTED
, node
.getTargetNodeState());
443 assertNotNull(node
.getImage());
444 assertNotSame(connectedImage
, node
.getImage());
446 node
.getParent().removeChild(node
);
449 private static void verifySessionGetterSetters(TraceSessionComponent session
) {
450 // save original values
451 String name
= session
.getName();
452 String origPath
= session
.getSessionPath();
453 TraceSessionState origState
= session
.getSessionState();
456 session
.setName("newName");
457 assertEquals("newName", session
.getName());
459 session
.setSessionPath("/home/user/tmp");
460 assertEquals("/home/user/tmp", session
.getSessionPath());
462 session
.setSessionState(TraceSessionState
.INACTIVE
);
463 assertEquals(TraceSessionState
.INACTIVE
, session
.getSessionState());
464 Image inactiveImage
= session
.getImage();
465 assertNotNull(inactiveImage
);
467 session
.setSessionState("active");
468 assertEquals(TraceSessionState
.ACTIVE
, session
.getSessionState());
470 Image activeImage
= session
.getImage();
471 assertNotNull(activeImage
);
472 assertNotSame(activeImage
, inactiveImage
);
474 ITraceControlComponent
[] children
= session
.getChildren();
475 TraceDomainComponent
[] domains
= session
.getDomains();
477 assertEquals(children
.length
, domains
.length
);
479 for (int i
= 0; i
< domains
.length
; i
++) {
480 assertEquals(domains
[i
].getName(), children
[i
].getName());
483 // restore original values
484 session
.setName(name
);
485 session
.setSessionPath(origPath
);
486 session
.setSessionState(origState
);
489 private static void verifyDomainGettersSetters(TraceDomainComponent domain
) {
490 // save original values
491 boolean isKernel
= domain
.isKernel();
493 domain
.setIsKernel(false);
494 assertFalse(domain
.isKernel());
495 domain
.setIsKernel(true);
496 assertTrue(domain
.isKernel());
498 ITraceControlComponent
[] children
= domain
.getChildren();
499 TraceChannelComponent
[] channels
= domain
.getChannels();
501 assertEquals(children
.length
, channels
.length
);
503 for (int i
= 0; i
< channels
.length
; i
++) {
504 assertEquals(channels
[i
].getName(), children
[i
].getName());
507 String nodeName
= domain
.getTargetNode().getName();
508 assertEquals(TARGET_NODE_NAME
, nodeName
);
510 // restore original values
511 domain
.setIsKernel(isKernel
);
514 private static void verifyBaseEventGettersSetters(BaseEventComponent event
) {
515 // save original values
516 String name
= event
.getName();
517 TraceLogLevel level
= event
.getLogLevel();
518 TraceEventType type
= event
.getEventType();
521 event
.setName("newName");
522 assertEquals("newName", event
.getName());
524 event
.setLogLevel(TraceLogLevel
.TRACE_INFO
);
525 assertEquals(TraceLogLevel
.TRACE_INFO
, event
.getLogLevel());
526 event
.setLogLevel("TRACE_ALERT");
527 assertEquals(TraceLogLevel
.TRACE_ALERT
, event
.getLogLevel());
529 event
.setEventType(TraceEventType
.UNKNOWN
);
530 assertEquals(TraceEventType
.UNKNOWN
, event
.getEventType());
531 event
.setEventType("tracepoint");
532 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
534 // restore original values
536 event
.setLogLevel(level
);
537 event
.setEventType(type
);
540 private static void verifyEventGettersSetters(TraceEventComponent event
) {
541 // save original values
542 String name
= event
.getName();
543 TraceLogLevel level
= event
.getLogLevel();
544 TraceEventType type
= event
.getEventType();
545 TraceEnablement state
= event
.getState();
548 event
.setName("newName");
549 assertEquals("newName", event
.getName());
551 event
.setLogLevel(TraceLogLevel
.TRACE_INFO
);
552 assertEquals(TraceLogLevel
.TRACE_INFO
, event
.getLogLevel());
553 event
.setLogLevel("TRACE_ALERT");
554 assertEquals(TraceLogLevel
.TRACE_ALERT
, event
.getLogLevel());
556 event
.setEventType(TraceEventType
.UNKNOWN
);
557 assertEquals(TraceEventType
.UNKNOWN
, event
.getEventType());
558 event
.setEventType("tracepoint");
559 assertEquals(TraceEventType
.TRACEPOINT
, event
.getEventType());
561 event
.setState("disabled");
562 assertEquals(TraceEnablement
.DISABLED
, event
.getState());
564 Image disabledImage
= event
.getImage();
565 assertNotNull(disabledImage
);
567 event
.setState(TraceEnablement
.ENABLED
);
568 assertEquals(TraceEnablement
.ENABLED
, event
.getState());
570 Image enabledImage
= event
.getImage();
571 assertNotNull(enabledImage
);
572 assertNotSame(enabledImage
, disabledImage
);
574 // restore original values
576 event
.setLogLevel(level
);
577 event
.setEventType(type
);
578 event
.setState(state
);
581 private static void verifyProbeEventGettersSetters(TraceProbeEventComponent event
) {
582 // save original values
583 String address
= event
.getAddress();
584 String offset
= event
.getOffset();
585 String symbol
= event
.getSymbol();
588 event
.setAddress("0xffff1234");
589 assertEquals("0xffff1234", event
.getAddress());
591 event
.setOffset("0x1234");
592 assertEquals("0x1234", event
.getOffset());
594 event
.setSymbol("init");
595 assertEquals("init", event
.getSymbol());
597 // restore original values
598 event
.setAddress(address
);
599 event
.setOffset(offset
);
600 event
.setSymbol(symbol
);
603 private static void verifyChannelGettersSetters(TraceChannelComponent channel
) {
604 // save original values
605 String name
= channel
.getName();
606 int nbSubBuffers
= channel
.getNumberOfSubBuffers();
607 String type
= channel
.getOutputType();
608 boolean mode
= channel
.isOverwriteMode();
609 long readTimer
= channel
.getReadTimer();
610 TraceEnablement state
= channel
.getState();
611 long subBufferSize
= channel
.getSubBufferSize();
612 long switchTimer
= channel
.getSwitchTimer();
615 channel
.setName("newName");
616 assertEquals("newName", channel
.getName());
618 channel
.setNumberOfSubBuffers(2);
619 assertEquals(2, channel
.getNumberOfSubBuffers());
621 channel
.setOutputType("splice()");
622 assertEquals("splice()", channel
.getOutputType());
624 channel
.setOverwriteMode(false);
625 assertEquals(false, channel
.isOverwriteMode());
627 channel
.setReadTimer(250);
628 assertEquals(250, channel
.getReadTimer());
630 channel
.setState("enabled");
631 assertEquals(TraceEnablement
.ENABLED
, channel
.getState());
633 Image enabledImage
= channel
.getImage();
634 assertNotNull(enabledImage
);
635 channel
.setState(TraceEnablement
.DISABLED
);
636 assertEquals(TraceEnablement
.DISABLED
, channel
.getState());
638 Image disabledImage
= channel
.getImage();
639 assertNotNull(disabledImage
);
640 assertNotSame(enabledImage
, disabledImage
);
642 channel
.setSubBufferSize(1024);
643 assertEquals(1024, channel
.getSubBufferSize());
645 channel
.setSwitchTimer(1000);
646 assertEquals(1000, channel
.getSwitchTimer());
648 // restore original values
649 channel
.setName(name
);
650 channel
.setNumberOfSubBuffers(nbSubBuffers
);
651 channel
.setOutputType(type
);
652 channel
.setOverwriteMode(mode
);
653 channel
.setReadTimer(readTimer
);
654 channel
.setState(state
);
655 channel
.setSubBufferSize(subBufferSize
);
656 channel
.setSwitchTimer(switchTimer
);
659 private static void verifyUstProviderGettersSetters(UstProviderComponent ustProvider
) {
660 // save original values
661 String name
= ustProvider
.getName();
662 int pid
= ustProvider
.getPid();
665 ustProvider
.setName("newName");
666 assertEquals("newName", ustProvider
.getName());
668 ustProvider
.setPid(9876);
669 assertEquals(9876, ustProvider
.getPid());
671 // restore original values
672 ustProvider
.setName(name
);
673 ustProvider
.setPid(pid
);