~ubuntu-branches/ubuntu/trusty/eclipse-linuxtools/trusty

« back to all changes in this revision

Viewing changes to lttng/org.eclipse.linuxtools.lttng2.ui.tests/src/org/eclipse/linuxtools/lttng2/ui/tests/control/model/component/TraceControlTreeModelTest.java

  • Committer: Package Import Robot
  • Author(s): tony mancill
  • Date: 2013-05-13 21:43:22 UTC
  • mfrom: (1.2.1) (2.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20130513214322-6frgd9du1n0w2uo7
Tags: 1.2.1-1
* Team upload.
* New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/**********************************************************************
2
2
 * Copyright (c) 2012 Ericsson
3
 
 * 
 
3
 *
4
4
 * All rights reserved. This program and the accompanying materials are
5
5
 * made available under the terms of the Eclipse Public License v1.0 which
6
6
 * accompanies this distribution, and is available at
7
7
 * http://www.eclipse.org/legal/epl-v10.html
8
 
 * 
9
 
 * Contributors: 
 
8
 *
 
9
 * Contributors:
10
10
 *   Bernd Hufmann - Initial API and implementation
11
11
 **********************************************************************/
12
12
package org.eclipse.linuxtools.lttng2.ui.tests.control.model.component;
54
54
 */
55
55
@SuppressWarnings("nls")
56
56
public class TraceControlTreeModelTest extends TestCase {
57
 
 
 
57
 
58
58
    // ------------------------------------------------------------------------
59
59
    // Constants
60
60
    // ------------------------------------------------------------------------
62
62
    private static final String TEST_STREAM = "ListInfoTest.cfg";
63
63
    private static final String SCEN_LIST_INFO_TEST = "ListInfoTest";
64
64
    private static final String TARGET_NODE_NAME = "myNode";
65
 
    
 
65
 
66
66
    // ------------------------------------------------------------------------
67
67
    // Test data
68
68
    // ------------------------------------------------------------------------
69
 
    
 
69
 
70
70
    private TestRemoteSystemProxy fProxy;
71
 
    private String fTestFile; 
72
 
    
 
71
    private String fTestFile;
 
72
 
73
73
    // ------------------------------------------------------------------------
74
74
    // Static methods
75
75
    // ------------------------------------------------------------------------
76
76
 
77
77
    /**
78
78
     * Returns test setup used when executing test case stand-alone.
79
 
     * @return Test setup class 
 
79
     * @return Test setup class
80
80
     */
81
81
    public static Test suite() {
82
82
        return new ModelImplTestSetup(new TestSuite(TraceControlTreeModelTest.class));
114
114
    public void tearDown()  throws Exception {
115
115
        TraceControlTestFacility.getInstance().waitForJobs();
116
116
    }
117
 
    
 
117
 
118
118
    /**
119
119
     * Run the TraceControlComponent.
 
120
     *
 
121
     * @throws Exception
 
122
     *             This will fail the test
120
123
     */
121
 
    public void testTraceControlComponents()
122
 
        throws Exception {
123
 
        
 
124
    public void testTraceControlComponents() throws Exception {
 
125
 
124
126
        fProxy.setTestFile(fTestFile);
125
127
        fProxy.setScenario(SCEN_LIST_INFO_TEST);
126
 
        
 
128
 
127
129
        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
128
130
 
129
131
        ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
159
161
        ITraceControlComponent[] groups = node.getChildren();
160
162
        assertNotNull(groups);
161
163
        assertEquals(2, groups.length);
162
 
        
 
164
 
163
165
        assertTrue(groups[0] instanceof TraceProviderGroup);
164
166
        assertTrue(groups[1] instanceof TraceSessionGroup);
165
 
        
 
167
 
166
168
        assertEquals("Provider", groups[0].getName());
167
169
        assertEquals("Sessions", groups[1].getName());
168
170
 
175
177
        assertEquals(3, providers.length);
176
178
 
177
179
        // ------------------------------------------------------------------------
178
 
        // Verify UstProviderComponent
 
180
        // Verify KernelProviderComponent
179
181
        // ------------------------------------------------------------------------
180
182
        KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
181
183
 
233
235
        ustProvider = (UstProviderComponent) providers[2];
234
236
        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello [PID=4852]", ustProvider.getName());
235
237
        assertEquals(4852, ustProvider.getPid());
236
 
        
 
238
 
237
239
        // verify getters and setter
238
240
        verifyUstProviderGettersSetters(ustProvider);
239
241
 
254
256
        assertEquals("ust_tests_hello:tptest", baseEventInfo.getName());
255
257
        assertEquals(TraceLogLevel.TRACE_DEBUG_FUNCTION, baseEventInfo.getLogLevel());
256
258
        assertEquals(TraceEventType.TRACEPOINT, baseEventInfo.getEventType());
257
 
        
 
259
 
258
260
        // verify getters and setters
259
261
        verifyBaseEventGettersSetters(baseEventInfo);
260
 
        
 
262
 
261
263
        // ------------------------------------------------------------------------
262
264
        // Verify TraceSessionGroup
263
265
        // ------------------------------------------------------------------------
280
282
 
281
283
        // Verify setters and setters
282
284
        verifySessionGetterSetters(session);
283
 
        
 
285
 
284
286
        ITraceControlComponent[] domains = session.getChildren();
285
287
        assertNotNull(domains);
286
288
        assertEquals(2, domains.length);
287
 
        
 
289
 
288
290
        // ------------------------------------------------------------------------
289
291
        // Verify Kernel domain
290
292
        // ------------------------------------------------------------------------
295
297
 
296
298
        // Verify setters and setters
297
299
        verifyDomainGettersSetters((TraceDomainComponent) domains[0]);
298
 
        
 
300
 
299
301
        // ------------------------------------------------------------------------
300
302
        // Verify Kernel's channel0
301
303
        // ------------------------------------------------------------------------
302
304
        assertTrue(channels[0] instanceof TraceChannelComponent);
303
 
        TraceChannelComponent channel = (TraceChannelComponent) channels[0]; 
 
305
        TraceChannelComponent channel = (TraceChannelComponent) channels[0];
304
306
        assertEquals("channel0", channel.getName());
305
307
        assertEquals(4, channel.getNumberOfSubBuffers());
306
308
        assertEquals("splice()", channel.getOutputType());
321
323
        assertTrue(channel0Events[2] instanceof TraceProbeEventComponent);
322
324
        assertTrue(channel0Events[3] instanceof TraceProbeEventComponent);
323
325
        assertTrue(channel0Events[4] instanceof TraceEventComponent);
324
 
        
 
326
 
325
327
        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
326
328
        assertEquals("block_rq_remap", event.getName());
327
329
        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
328
330
        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
329
331
        assertEquals(TraceEnablement.ENABLED, event.getState());
330
 
        
 
332
 
331
333
        event = (TraceEventComponent) channel0Events[1];
332
334
        assertEquals("block_bio_remap", event.getName());
333
335
        assertEquals(TraceLogLevel.TRACE_EMERG, event.getLogLevel());
354
356
        assertNull(probeEvent.getAddress());
355
357
        assertEquals("0x0", probeEvent.getOffset());
356
358
        assertEquals("init_post", probeEvent.getSymbol());
357
 
        
 
359
 
358
360
        event = (TraceEventComponent) channel0Events[4];
359
361
        assertEquals("syscalls", event.getName());
360
362
        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
361
363
        assertEquals(TraceEventType.SYSCALL, event.getEventType());
362
364
        assertEquals(TraceEnablement.ENABLED, event.getState());
363
 
        
 
365
 
364
366
        // ------------------------------------------------------------------------
365
367
        // Verify Kernel's channel1
366
368
        // ------------------------------------------------------------------------
367
369
        assertEquals("channel1", channels[1].getName());
368
 
        channel = (TraceChannelComponent) channels[1]; 
 
370
        channel = (TraceChannelComponent) channels[1];
369
371
        assertEquals(4, channel.getNumberOfSubBuffers());
370
372
        assertEquals("splice()", channel.getOutputType());
371
373
        assertEquals(true, channel.isOverwriteMode());
384
386
        // Verify domain UST global
385
387
        // ------------------------------------------------------------------------
386
388
        assertEquals("UST global", domains[1].getName());
387
 
        
 
389
 
388
390
        ITraceControlComponent[] ustChannels = domains[1].getChildren();
389
 
        
 
391
 
390
392
        for (int i = 0; i < ustChannels.length; i++) {
391
393
            assertTrue(ustChannels[i] instanceof TraceChannelComponent);
392
394
        }
394
396
        // ------------------------------------------------------------------------
395
397
        // Verify UST global's mychannel1
396
398
        // ------------------------------------------------------------------------
397
 
        channel = (TraceChannelComponent) ustChannels[0]; 
 
399
        channel = (TraceChannelComponent) ustChannels[0];
398
400
        assertEquals("mychannel1", channel.getName());
399
401
        assertEquals(8, channel.getNumberOfSubBuffers());
400
402
        assertEquals("mmap()", channel.getOutputType());
403
405
        assertEquals(TraceEnablement.DISABLED, channel.getState());
404
406
        assertEquals(8192, channel.getSubBufferSize());
405
407
        assertEquals(200, channel.getSwitchTimer());
406
 
        
407
 
        // verify getters and setters 
 
408
 
 
409
        // verify getters and setters
408
410
        verifyChannelGettersSetters(channel);
409
411
 
410
412
        // ------------------------------------------------------------------------
431
433
        // ------------------------------------------------------------------------
432
434
        ustEvents = channel.getChildren();
433
435
        assertEquals(2, ustEvents.length);
434
 
        
 
436
 
435
437
        event = (TraceEventComponent) ustEvents[0];
436
438
        assertEquals("ust_tests_hello:tptest_sighandler", event.getName());
437
439
        assertEquals(TraceLogLevel.TRACE_DEBUG_LINE, event.getLogLevel());
438
440
        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
439
441
        assertEquals(TraceEnablement.DISABLED, event.getState());
440
 
        
 
442
 
441
443
        event = (TraceEventComponent) ustEvents[1];
442
444
        assertEquals("*", ustEvents[1].getName());
443
445
        assertEquals(TraceLogLevel.LEVEL_UNKNOWN, event.getLogLevel());
444
446
        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
445
447
        assertEquals(TraceEnablement.ENABLED, event.getState());
446
 
        
 
448
 
447
449
        // verify getters and setters
448
450
        verifyEventGettersSetters(event);
449
 
        
 
451
 
450
452
        // disconnect
451
453
        node.disconnect();
452
454
        assertEquals(TargetNodeState.DISCONNECTED, node.getTargetNodeState());
453
455
        assertNotNull(node.getImage());
454
456
        assertNotSame(connectedImage, node.getImage());
455
 
        
 
457
 
456
458
        node.getParent().removeChild(node);
457
459
    }
458
 
    
459
 
    private void verifySessionGetterSetters(TraceSessionComponent session) {
 
460
 
 
461
    private static void verifySessionGetterSetters(TraceSessionComponent session) {
460
462
        // save original values
461
463
        String name = session.getName();
462
464
        String origPath = session.getSessionPath();
465
467
        // test cases
466
468
        session.setName("newName");
467
469
        assertEquals("newName", session.getName());
468
 
        
 
470
 
469
471
        session.setSessionPath("/home/user/tmp");
470
472
        assertEquals("/home/user/tmp", session.getSessionPath());
471
473
 
473
475
        assertEquals(TraceSessionState.INACTIVE, session.getSessionState());
474
476
        Image inactiveImage = session.getImage();
475
477
        assertNotNull(inactiveImage);
476
 
        
 
478
 
477
479
        session.setSessionState("active");
478
480
        assertEquals(TraceSessionState.ACTIVE, session.getSessionState());
479
481
 
489
491
        for (int i = 0; i < domains.length; i++) {
490
492
            assertEquals(domains[i].getName(), children[i].getName());
491
493
        }
492
 
        
493
 
        // restore original values      
 
494
 
 
495
        // restore original values
494
496
        session.setName(name);
495
497
        session.setSessionPath(origPath);
496
498
        session.setSessionState(origState);
497
499
    }
498
 
    
499
 
    private void verifyDomainGettersSetters(TraceDomainComponent domain) {
 
500
 
 
501
    private static void verifyDomainGettersSetters(TraceDomainComponent domain) {
500
502
        // save original values
501
503
        boolean isKernel = domain.isKernel();
502
504
 
521
523
        domain.setIsKernel(isKernel);
522
524
    }
523
525
 
524
 
    private void verifyBaseEventGettersSetters(BaseEventComponent event) {
 
526
    private static void verifyBaseEventGettersSetters(BaseEventComponent event) {
525
527
        // save original values
526
528
        String name =  event.getName();
527
529
        TraceLogLevel level = event.getLogLevel();
528
530
        TraceEventType type = event.getEventType();
529
 
        
 
531
 
530
532
        // test cases
531
533
        event.setName("newName");
532
534
        assertEquals("newName", event.getName());
533
 
        
 
535
 
534
536
        event.setLogLevel(TraceLogLevel.TRACE_INFO);
535
537
        assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
536
538
        event.setLogLevel("TRACE_ALERT");
540
542
        assertEquals(TraceEventType.UNKNOWN, event.getEventType());
541
543
        event.setEventType("tracepoint");
542
544
        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
543
 
        
 
545
 
544
546
        // restore original values
545
547
        event.setName(name);
546
548
        event.setLogLevel(level);
547
549
        event.setEventType(type);
548
550
    }
549
 
    
550
 
    private void verifyEventGettersSetters(TraceEventComponent event) {
 
551
 
 
552
    private static void verifyEventGettersSetters(TraceEventComponent event) {
551
553
        // save original values
552
554
        String name =  event.getName();
553
555
        TraceLogLevel level = event.getLogLevel();
554
556
        TraceEventType type = event.getEventType();
555
557
        TraceEnablement state = event.getState();
556
 
        
 
558
 
557
559
        // test cases
558
560
        event.setName("newName");
559
561
        assertEquals("newName", event.getName());
560
 
        
 
562
 
561
563
        event.setLogLevel(TraceLogLevel.TRACE_INFO);
562
564
        assertEquals(TraceLogLevel.TRACE_INFO, event.getLogLevel());
563
565
        event.setLogLevel("TRACE_ALERT");
567
569
        assertEquals(TraceEventType.UNKNOWN, event.getEventType());
568
570
        event.setEventType("tracepoint");
569
571
        assertEquals(TraceEventType.TRACEPOINT, event.getEventType());
570
 
        
 
572
 
571
573
        event.setState("disabled");
572
574
        assertEquals(TraceEnablement.DISABLED, event.getState());
573
 
        
 
575
 
574
576
        Image disabledImage = event.getImage();
575
577
        assertNotNull(disabledImage);
576
578
 
587
589
        event.setEventType(type);
588
590
        event.setState(state);
589
591
    }
590
 
    
591
 
    private void verifyProbeEventGettersSetters(TraceProbeEventComponent event) {
 
592
 
 
593
    private static void verifyProbeEventGettersSetters(TraceProbeEventComponent event) {
592
594
        // save original values
593
595
        String address = event.getAddress();
594
596
        String offset = event.getOffset();
595
597
        String symbol = event.getSymbol();
596
 
        
 
598
 
597
599
        // test cases
598
600
        event.setAddress("0xffff1234");
599
601
        assertEquals("0xffff1234", event.getAddress());
600
 
        
 
602
 
601
603
        event.setOffset("0x1234");
602
604
        assertEquals("0x1234", event.getOffset());
603
 
        
 
605
 
604
606
        event.setSymbol("init");
605
607
        assertEquals("init", event.getSymbol());
606
 
        
 
608
 
607
609
        // restore original values
608
610
        event.setAddress(address);
609
611
        event.setOffset(offset);
610
612
        event.setSymbol(symbol);
611
613
    }
612
 
    
613
 
    private void verifyChannelGettersSetters(TraceChannelComponent channel) {
 
614
 
 
615
    private static void verifyChannelGettersSetters(TraceChannelComponent channel) {
614
616
        // save original values
615
617
        String name = channel.getName();
616
618
        int nbSubBuffers = channel.getNumberOfSubBuffers();
620
622
        TraceEnablement state =  channel.getState();
621
623
        long subBufferSize = channel.getSubBufferSize();
622
624
        long switchTimer = channel.getSwitchTimer();
623
 
        
 
625
 
624
626
        // test cases
625
627
        channel.setName("newName");
626
628
        assertEquals("newName", channel.getName());
627
 
        
 
629
 
628
630
        channel.setNumberOfSubBuffers(2);
629
631
        assertEquals(2, channel.getNumberOfSubBuffers());
630
 
        
 
632
 
631
633
        channel.setOutputType("splice()");
632
634
        assertEquals("splice()", channel.getOutputType());
633
 
        
 
635
 
634
636
        channel.setOverwriteMode(false);
635
637
        assertEquals(false, channel.isOverwriteMode());
636
 
        
 
638
 
637
639
        channel.setReadTimer(250);
638
640
        assertEquals(250, channel.getReadTimer());
639
 
        
 
641
 
640
642
        channel.setState("enabled");
641
643
        assertEquals(TraceEnablement.ENABLED, channel.getState());
642
 
        
 
644
 
643
645
        Image enabledImage = channel.getImage();
644
646
        assertNotNull(enabledImage);
645
647
        channel.setState(TraceEnablement.DISABLED);
648
650
        Image disabledImage = channel.getImage();
649
651
        assertNotNull(disabledImage);
650
652
        assertNotSame(enabledImage, disabledImage);
651
 
        
 
653
 
652
654
        channel.setSubBufferSize(1024);
653
655
        assertEquals(1024, channel.getSubBufferSize());
654
 
        
 
656
 
655
657
        channel.setSwitchTimer(1000);
656
658
        assertEquals(1000, channel.getSwitchTimer());
657
659
 
665
667
        channel.setSubBufferSize(subBufferSize);
666
668
        channel.setSwitchTimer(switchTimer);
667
669
    }
668
 
    
669
 
    private void verifyUstProviderGettersSetters(UstProviderComponent ustProvider) {
 
670
 
 
671
    private static void verifyUstProviderGettersSetters(UstProviderComponent ustProvider) {
670
672
        // save original values
671
673
        String name = ustProvider.getName();
672
674
        int pid = ustProvider.getPid();
673
 
        
 
675
 
674
676
        // test cases
675
677
        ustProvider.setName("newName");
676
678
        assertEquals("newName", ustProvider.getName());
677
679
 
678
680
        ustProvider.setPid(9876);
679
681
        assertEquals(9876, ustProvider.getPid());
680
 
        
 
682
 
681
683
        // restore original values
682
684
        ustProvider.setName(name);
683
685
        ustProvider.setPid(pid);