tmf: Bug 460032: Fix concurrent update of XML presentation provider
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.control.ui.tests / src / org / eclipse / tracecompass / lttng2 / control / ui / tests / model / component / TraceControlUstSessionTests.java
CommitLineData
a26d90be 1/**********************************************************************
60ae41e1 2 * Copyright (c) 2012, 2014 Ericsson
cfdb727a 3 *
a26d90be
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:
a26d90be 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
a26d90be 13 **********************************************************************/
2ba3d0a1 14
9bc60be7 15package org.eclipse.tracecompass.lttng2.control.ui.tests.model.component;
a26d90be 16
b732adaa
MS
17import static org.junit.Assert.assertEquals;
18import static org.junit.Assert.assertNotNull;
19import static org.junit.Assert.assertTrue;
2ba3d0a1 20
a26d90be
BH
21import java.io.File;
22import java.net.URL;
23import java.util.ArrayList;
24import java.util.List;
25
a26d90be
BH
26import org.eclipse.core.runtime.FileLocator;
27import org.eclipse.core.runtime.Path;
b732adaa
MS
28import org.eclipse.remote.core.IRemoteConnection;
29import org.eclipse.remote.core.IRemoteConnectionManager;
30import org.eclipse.remote.core.RemoteServices;
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.core.model.impl.BufferType;
39import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.ChannelInfo;
40import org.eclipse.tracecompass.internal.lttng2.control.stubs.dialogs.CreateSessionDialogStub;
41import org.eclipse.tracecompass.internal.lttng2.control.stubs.dialogs.DestroyConfirmDialogStub;
42import org.eclipse.tracecompass.internal.lttng2.control.stubs.dialogs.EnableChannelDialogStub;
43import org.eclipse.tracecompass.internal.lttng2.control.stubs.dialogs.EnableEventsDialogStub;
44import org.eclipse.tracecompass.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
45import org.eclipse.tracecompass.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
46import org.eclipse.tracecompass.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
47import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.ITraceControlComponent;
48import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
49import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent;
50import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent;
51import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent;
52import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent;
a26d90be
BH
53import org.junit.After;
54import org.junit.Before;
2ba3d0a1 55import org.junit.Test;
9269df72 56import org.osgi.framework.FrameworkUtil;
a26d90be
BH
57
58/**
2ba3d0a1
AM
59 * The class <code>TraceControlUstSessionTests</code> contains UST
60 * session/channel/event handling test cases.
a26d90be 61 */
2ba3d0a1 62public class TraceControlUstSessionTests {
a26d90be
BH
63
64 // ------------------------------------------------------------------------
65 // Constants
66 // ------------------------------------------------------------------------
2ba3d0a1 67
a26d90be
BH
68 private static final String TEST_STREAM = "CreateTreeTest.cfg";
69 private static final String SCEN_SCENARIO4_TEST = "Scenario4";
70
71 // ------------------------------------------------------------------------
72 // Test data
73 // ------------------------------------------------------------------------
2ba3d0a1 74
a26d90be
BH
75 private TraceControlTestFacility fFacility;
76 private TestRemoteSystemProxy fProxy;
cfdb727a
AM
77 private String fTestFile;
78
a26d90be
BH
79 // ------------------------------------------------------------------------
80 // Housekeeping
81 // ------------------------------------------------------------------------
82
83 /**
84 * Perform pre-test initialization.
85 *
86 * @throws Exception
87 * if the initialization fails for some reason
a26d90be 88 */
a26d90be
BH
89 @Before
90 public void setUp() throws Exception {
91 fFacility = TraceControlTestFacility.getInstance();
1c3c5807 92 fFacility.init();
a26d90be 93 fProxy = new TestRemoteSystemProxy();
9269df72 94 URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(TraceControlTestFacility.DIRECTORY + File.separator + TEST_STREAM), null);
a26d90be
BH
95 File testfile = new File(FileLocator.toFileURL(location).toURI());
96 fTestFile = testfile.getAbsolutePath();
97 }
98
99 /**
100 * Perform post-test clean-up.
a26d90be 101 */
a26d90be 102 @After
2ba3d0a1 103 public void tearDown() {
b957fb8c 104 fFacility.waitForJobs();
1c3c5807 105 fFacility.dispose();
a26d90be 106 }
cfdb727a 107
a26d90be
BH
108 /**
109 * Run the TraceControlComponent.
cfdb727a
AM
110 *
111 * @throws Exception
112 * This will fail the test
a26d90be 113 */
2ba3d0a1 114 @Test
a26d90be 115 public void testTraceSessionTree() throws Exception {
cfdb727a 116
a26d90be
BH
117 fProxy.setTestFile(fTestFile);
118 fProxy.setScenario(TraceControlTestFacility.SCEN_INIT_TEST);
cfdb727a 119
1c3c5807 120 ITraceControlComponent root = fFacility.getControlView().getTraceControlRoot();
a26d90be 121
b732adaa
MS
122 IRemoteConnectionManager cm = RemoteServices.getLocalServices().getConnectionManager();
123 IRemoteConnection host = cm.getConnection(IRemoteConnectionManager.LOCAL_CONNECTION_NAME);
a26d90be
BH
124
125 TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, fProxy);
126
127 root.addChild(node);
a26d90be
BH
128 fFacility.waitForJobs();
129
b957fb8c
BH
130 fFacility.executeCommand(node, "connect");
131 int i = 0;
132 while ((i < 10) && (node.getTargetNodeState() != TargetNodeState.CONNECTED)) {
133 i++;
134 fFacility.delay(TraceControlTestFacility.GUI_REFESH_DELAY);
135 }
a26d90be
BH
136
137 // Get provider groups
138 ITraceControlComponent[] groups = node.getChildren();
139 assertNotNull(groups);
140 assertEquals(2, groups.length);
141
142 // Initialize dialog implementations for command execution
143 TraceControlDialogFactory.getInstance().setCreateSessionDialog(new CreateSessionDialogStub());
144 TraceControlDialogFactory.getInstance().setGetEventInfoDialog(new GetEventInfoDialogStub());
145 TraceControlDialogFactory.getInstance().setConfirmDialog(new DestroyConfirmDialogStub());
146
147 // Initialize session handling scenario
148 fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
cfdb727a 149
a26d90be
BH
150 // ------------------------------------------------------------------------
151 // Create session
152 // ------------------------------------------------------------------------
153 TraceSessionComponent session = fFacility.createSession(groups[1]);
cfdb727a 154
a26d90be
BH
155 // Verify that session was created
156 assertNotNull(session);
157 assertEquals("mysession", session.getName());
158 assertEquals("/home/user/lttng-traces/mysession-20120314-132824", session.getSessionPath());
159 assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
160
161 // Initialize scenario
162 fProxy.setScenario(SCEN_SCENARIO4_TEST);
cfdb727a 163
a26d90be
BH
164 // ------------------------------------------------------------------------
165 // Enable default channel on created session above
166 // ------------------------------------------------------------------------
d62bfa55 167 EnableChannelDialogStub channelStub = new EnableChannelDialogStub();
a26d90be 168 channelStub.setIsKernel(false);
d62bfa55 169 TraceControlDialogFactory.getInstance().setEnableChannelDialog(channelStub);
a26d90be 170
d62bfa55 171 fFacility.executeCommand(session, "enableChannelOnSession");
cfdb727a 172
a26d90be
BH
173 // Verify that Kernel domain was created
174 ITraceControlComponent[] domains = session.getChildren();
175 assertNotNull(domains);
176 assertEquals(1, domains.length);
177
178 assertEquals("UST global", domains[0].getName());
83051fc3 179 assertEquals("Domain buffer Type", BufferType.BUFFER_TYPE_UNKNOWN, ((TraceDomainComponent)domains[0]).getBufferType());
cfdb727a 180
a26d90be
BH
181 // Verify that channel was created with correct data
182 ITraceControlComponent[] channels = domains[0].getChildren();
183 assertNotNull(channels);
184 assertEquals(1, channels.length);
185
186 assertTrue(channels[0] instanceof TraceChannelComponent);
cfdb727a 187 TraceChannelComponent channel = (TraceChannelComponent) channels[0];
a26d90be
BH
188 assertEquals("mychannel", channel.getName());
189 assertEquals(4, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
190 assertEquals("mmap()", channel.getOutputType().getInName());
191 assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
a26d90be
BH
192 assertEquals(true, channel.isOverwriteMode());
193 assertEquals(200, channel.getReadTimer());
194 assertEquals(TraceEnablement.ENABLED, channel.getState());
195 assertEquals(16384, channel.getSubBufferSize());
196 assertEquals(100, channel.getSwitchTimer());
197
198 // ------------------------------------------------------------------------
199 // Enable channel on domain
200 // ------------------------------------------------------------------------
201 ChannelInfo info = (ChannelInfo)channelStub.getChannelInfo();
202 info.setName("mychannel2");
203 info.setOverwriteMode(false);
204 info.setSubBufferSize(32768);
205 info.setNumberOfSubBuffers(2);
206 info.setSwitchTimer(100);
207 info.setReadTimer(200);
208 channelStub.setChannelInfo(info);
cfdb727a 209
d62bfa55 210 fFacility.executeCommand(domains[0], "enableChannelOnDomain");
a26d90be
BH
211
212 // Get Kernel domain component instance
213 domains = session.getChildren();
214 assertNotNull(domains);
215 assertEquals(1, domains.length);
216
217 // Verify that channel was created with correct data
218 channels = domains[0].getChildren();
219 assertNotNull(channels);
220 assertEquals(2, channels.length);
221
222 assertTrue(channels[1] instanceof TraceChannelComponent);
cfdb727a 223 channel = (TraceChannelComponent) channels[1];
a26d90be
BH
224 assertEquals("mychannel2", channel.getName());
225 assertEquals(2, channel.getNumberOfSubBuffers());
0ad9fc89
JRJ
226 assertEquals("mmap()", channel.getOutputType().getInName());
227 assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
a26d90be
BH
228 assertEquals(false, channel.isOverwriteMode());
229 assertEquals(200, channel.getReadTimer());
230 assertEquals(TraceEnablement.ENABLED, channel.getState());
231 assertEquals(32768, channel.getSubBufferSize());
232 assertEquals(100, channel.getSwitchTimer());
233
234 // ------------------------------------------------------------------------
235 // Enable event (tracepoint) on session and default channel
236 // ------------------------------------------------------------------------
237 EnableEventsDialogStub eventsDialogStub = new EnableEventsDialogStub();
238 eventsDialogStub.setIsTracePoints(true);
e0838ca1 239 List<String> events = new ArrayList<>();
a26d90be
BH
240 events.add("ust_tests_hello:tptest_sighandler");
241 eventsDialogStub.setNames(events);
242 eventsDialogStub.setIsKernel(false);
243 TraceControlDialogFactory.getInstance().setEnableEventsDialog(eventsDialogStub);
cfdb727a 244
a26d90be 245 fFacility.executeCommand(session, "enableEventOnSession");
cfdb727a 246
a26d90be
BH
247 // Get Kernel domain component instance
248 domains = session.getChildren();
249 assertNotNull(domains);
250 assertEquals(1, domains.length);
251
252 // Verify that channel was created with correct data
253 channels = domains[0].getChildren();
254 assertNotNull(channels);
255 assertEquals(3, channels.length);
256
257 assertTrue(channels[2] instanceof TraceChannelComponent);
cfdb727a 258 channel = (TraceChannelComponent) channels[2];
a26d90be
BH
259 assertEquals("channel0", channel.getName());
260 // No need to check parameters of default channel because that has been done in other tests
261
262 ITraceControlComponent[] channel0Events = channel.getChildren();
263 assertEquals(1, channel0Events.length);
cfdb727a 264
a26d90be
BH
265 assertTrue(channel0Events[0] instanceof TraceEventComponent);
266
267 TraceEventComponent event = (TraceEventComponent) channel0Events[0];
268 assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
269 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
270 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
271 assertEquals(TraceEnablement.ENABLED, event.getState());
272
273 // ------------------------------------------------------------------------
274 // Enable event (tracepoint) on domain and default channel
275 // ------------------------------------------------------------------------
276 events.clear();
277 events.add("ust_tests_hello:tptest");
278 eventsDialogStub.setNames(events);
cfdb727a 279
a26d90be 280 fFacility.executeCommand(domains[0], "enableEventOnDomain");
cfdb727a 281
a26d90be
BH
282 // Get Kernel domain component instance
283 domains = session.getChildren();
284 assertNotNull(domains);
285 assertEquals(1, domains.length);
286
287 // Verify that channel was created with correct data
288 channels = domains[0].getChildren();
cfdb727a 289 channel = (TraceChannelComponent) channels[2];
a26d90be
BH
290 // No need to check parameters of default channel because that has been done in other tests
291
292 channel0Events = channel.getChildren();
293 assertEquals(2, channel0Events.length);
cfdb727a 294
a26d90be
BH
295 assertTrue(channel0Events[1] instanceof TraceEventComponent);
296
297 event = (TraceEventComponent) channel0Events[1];
298 assertEquals("ust_tests_hello:tptest", event.getName());
299 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel()); // TODO
300 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
301 assertEquals(TraceEnablement.ENABLED, event.getState());
302
303 // ------------------------------------------------------------------------
304 // Enable event (all tracepoints) on specific channel
305 // ------------------------------------------------------------------------
306 events.clear();
307 eventsDialogStub.setNames(events);
308 eventsDialogStub.setIsAllTracePoints(true);
309
310 fFacility.executeCommand(channels[1], "enableEventOnChannel");
311
312 // Get Kernel domain component instance
313 domains = session.getChildren();
314 assertNotNull(domains);
315 assertEquals(1, domains.length);
316
317 // Verify that channel was created with correct data
318 channels = domains[0].getChildren();
cfdb727a 319 channel = (TraceChannelComponent) channels[1];
a26d90be
BH
320 // No need to check parameters of default channel because that has been done in other tests
321
322 channel = (TraceChannelComponent) channels[1];
cfdb727a 323
a26d90be
BH
324 channel0Events = channel.getChildren();
325 assertEquals(1, channel0Events.length);
cfdb727a 326
a26d90be
BH
327 assertTrue(channel0Events[0] instanceof TraceEventComponent);
328
329 event = (TraceEventComponent) channel0Events[0];
330 assertEquals("*", event.getName());
331 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
332 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
333 assertEquals(TraceEnablement.ENABLED, event.getState());
334
335 // ------------------------------------------------------------------------
336 // Enable event (wildcard) on specific channel
337 // ------------------------------------------------------------------------
338 events.clear();
cfdb727a 339 eventsDialogStub.setIsTracePoints(false);
a26d90be
BH
340 eventsDialogStub.setIsAllTracePoints(false);
341 eventsDialogStub.setIsWildcard(true);
342 eventsDialogStub.setWildcard("ust*");
343
344 fFacility.executeCommand(channels[0], "enableEventOnChannel");
345
346 // Get Kernel domain component instance
347 domains = session.getChildren();
348 assertNotNull(domains);
349 assertEquals(1, domains.length);
350
351 // Verify that channel was created with correct data
352 channels = domains[0].getChildren();
cfdb727a 353 channel = (TraceChannelComponent) channels[0];
a26d90be
BH
354 // No need to check parameters of default channel because that has been done in other tests
355
356 channel0Events = channel.getChildren();
357 assertEquals(1, channel0Events.length);
cfdb727a 358
a26d90be 359 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 360
a26d90be
BH
361 event = (TraceEventComponent) channel0Events[0];
362 assertEquals("ust*", event.getName());
363 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
364 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
365 assertEquals(TraceEnablement.ENABLED, event.getState());
366
367 // ------------------------------------------------------------------------
368 // Enable event (wildcard) on domain
369 // ------------------------------------------------------------------------
370 events.clear();
cfdb727a 371 eventsDialogStub.setIsTracePoints(false);
a26d90be
BH
372 eventsDialogStub.setIsAllTracePoints(false);
373 eventsDialogStub.setIsWildcard(true);
374 eventsDialogStub.setWildcard("ust*");
375
376 fFacility.executeCommand(domains[0], "enableEventOnDomain");
377
378 // Get Kernel domain component instance
379 domains = session.getChildren();
380 assertNotNull(domains);
381 assertEquals(1, domains.length);
382
383 // Verify that channel was created with correct data
384 channels = domains[0].getChildren();
cfdb727a 385 channel = (TraceChannelComponent) channels[0];
a26d90be
BH
386 // No need to check parameters of default channel because that has been done in other tests
387
388 channel0Events = channel.getChildren();
389 assertEquals(1, channel0Events.length);
cfdb727a 390
a26d90be 391 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 392
a26d90be
BH
393 event = (TraceEventComponent) channel0Events[0];
394 assertEquals("ust*", event.getName());
395 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
396 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
397 assertEquals(TraceEnablement.ENABLED, event.getState());
398
399 // ------------------------------------------------------------------------
400 // Enable event (wildcard) on session
401 // ------------------------------------------------------------------------
402 events.clear();
cfdb727a 403 eventsDialogStub.setIsTracePoints(false);
a26d90be
BH
404 eventsDialogStub.setIsAllTracePoints(false);
405 eventsDialogStub.setIsWildcard(true);
406 eventsDialogStub.setWildcard("ust*");
407
408 fFacility.executeCommand(domains[0], "enableEventOnDomain");
409
410 // Get Kernel domain component instance
411 domains = session.getChildren();
412 assertNotNull(domains);
413 assertEquals(1, domains.length);
414
415 // Verify that channel was created with correct data
416 channels = domains[0].getChildren();
cfdb727a 417 channel = (TraceChannelComponent) channels[2];
a26d90be
BH
418 // No need to check parameters of default channel because that has been done in other tests
419
420 channel0Events = channel.getChildren();
421 assertEquals(4, channel0Events.length);
cfdb727a 422
a26d90be 423 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 424
a26d90be
BH
425 event = (TraceEventComponent) channel0Events[0];
426 assertEquals("u*", event.getName());
427 assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
428 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
429 assertEquals(TraceEnablement.ENABLED, event.getState());
430
431 // ------------------------------------------------------------------------
432 // Enable event (loglevel) on domain
433 // ------------------------------------------------------------------------
434 events.clear();
435 eventsDialogStub.setIsWildcard(false);
436 eventsDialogStub.setIsLogLevel(true);
437 eventsDialogStub.setLogLevelEventName("myevent1");
438 eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL);
439 eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_WARNING);
cfdb727a 440
a26d90be
BH
441 fFacility.executeCommand(domains[0], "enableEventOnDomain");
442
443 // Get Kernel domain component instance
444 domains = session.getChildren();
445 assertNotNull(domains);
446 assertEquals(1, domains.length);
447
448 // Verify that channel was created with correct data
449 channels = domains[0].getChildren();
cfdb727a 450 channel = (TraceChannelComponent) channels[2];
a26d90be
BH
451 // No need to check parameters of default channel because that has been done in other tests
452
453 channel0Events = channel.getChildren();
454 assertEquals(5, channel0Events.length);
cfdb727a 455
a26d90be 456 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 457
a26d90be
BH
458 event = (TraceEventComponent) channel0Events[0];
459 assertEquals("myevent1", event.getName());
460 assertEquals(TraceLogLevel.TRACE_WARNING, event.getLogLevel());
461 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
462 assertEquals(TraceEnablement.ENABLED, event.getState());
463
464 // ------------------------------------------------------------------------
465 // Enable event (loglevel) on session
466 // ------------------------------------------------------------------------
467 eventsDialogStub.setLogLevelEventName("myevent2");
468 eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
469 eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
cfdb727a 470
a26d90be 471 fFacility.executeCommand(session, "enableEventOnSession");
cfdb727a 472
a26d90be
BH
473 // Get Kernel domain component instance
474 domains = session.getChildren();
475 assertNotNull(domains);
476 assertEquals(1, domains.length);
477
478 // Verify that channel was created with correct data
479 channels = domains[0].getChildren();
cfdb727a 480 channel = (TraceChannelComponent) channels[2];
a26d90be
BH
481 // No need to check parameters of default channel because that has been done in other tests
482
483 channel0Events = channel.getChildren();
484 assertEquals(6, channel0Events.length);
cfdb727a 485
a26d90be 486 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 487
a26d90be
BH
488 event = (TraceEventComponent) channel0Events[0];
489 assertEquals("myevent2", event.getName());
490 assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
491 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
492 assertEquals(TraceEnablement.ENABLED, event.getState());
493
494 // ------------------------------------------------------------------------
495 // Enable event (loglevel) on channel
496 // ------------------------------------------------------------------------
497 eventsDialogStub.setLogLevelEventName("myevent0");
498 eventsDialogStub.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
499 eventsDialogStub.setLogLevel(TraceLogLevel.TRACE_DEBUG_FUNCTION);
cfdb727a 500
a26d90be 501 fFacility.executeCommand(channels[0], "enableEventOnChannel");
cfdb727a 502
a26d90be
BH
503 // Get Kernel domain component instance
504 domains = session.getChildren();
505 assertNotNull(domains);
506 assertEquals(1, domains.length);
507
508 // Verify that channel was created with correct data
509 channels = domains[0].getChildren();
cfdb727a 510 channel = (TraceChannelComponent) channels[0];
a26d90be
BH
511 // No need to check parameters of default channel because that has been done in other tests
512
513 channel0Events = channel.getChildren();
514 assertEquals(2, channel0Events.length);
cfdb727a 515
a26d90be 516 assertTrue(channel0Events[0] instanceof TraceEventComponent);
cfdb727a 517
a26d90be
BH
518 event = (TraceEventComponent) channel0Events[0];
519 assertEquals("myevent0", event.getName());
520 assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, event.getLogLevel());
521 assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
522 assertEquals(TraceEnablement.ENABLED, event.getState());
cfdb727a 523
a26d90be 524 // ------------------------------------------------------------------------
cfdb727a 525 // Destroy session
a26d90be
BH
526 // ------------------------------------------------------------------------
527 // Initialize session handling scenario
528 fProxy.setScenario(TraceControlTestFacility.SCEN_SCENARIO_SESSION_HANDLING);
529
530 fFacility.destroySession(session);
cfdb727a 531
a26d90be 532 // Verify that no more session components exist
cc703e6c 533 assertEquals("Session components still exist.", 0, groups[1].getChildren().length);
a26d90be
BH
534
535 //-------------------------------------------------------------------------
536 // Disconnect node
537 //-------------------------------------------------------------------------
538 fFacility.executeCommand(node, "disconnect");
539 assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
540
541 //-------------------------------------------------------------------------
542 // Delete node
543 //-------------------------------------------------------------------------
cfdb727a 544
a26d90be
BH
545 fFacility.executeCommand(node, "delete");
546
cc703e6c 547 assertEquals("Node not deleted.", 0, fFacility.getControlView().getTraceControlRoot().getChildren().length);
a26d90be
BH
548 }
549}
This page took 0.10919 seconds and 5 git commands to generate.