June 29th, 2010
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.tests / src / org / eclipse / linuxtools / lttng / control / LTTngSyntheticEventProviderTest.java
1 /*******************************************************************************
2 * Copyright (c) 2010 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 * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
11 *******************************************************************************/
12 package org.eclipse.linuxtools.lttng.control;
13
14 import org.eclipse.linuxtools.lttng.LttngTestPreparation;
15 import org.eclipse.linuxtools.lttng.event.LttngEvent;
16 import org.eclipse.linuxtools.lttng.event.LttngSyntheticEvent;
17 import org.eclipse.linuxtools.lttng.state.experiment.IStateExperimentManager;
18 import org.eclipse.linuxtools.tmf.experiment.TmfExperiment;
19 import org.eclipse.linuxtools.tmf.request.TmfEventRequest;
20
21 public class LTTngSyntheticEventProviderTest extends LttngTestPreparation {
22 // ========================================================================
23 // Tests
24 // ========================================================================
25
26 public void testPlainDataRequest() {
27 // prepare
28 init();
29 TmfExperiment<LttngEvent> experiment = prepareExperimentToTest();
30 TmfEventRequest<LttngEvent> request = prepareEventRequest(LttngEvent.class, 0, 31);
31
32 // execute
33 experiment.sendRequest(request);
34 try {
35 request.waitForCompletion();
36 } catch (InterruptedException e) {
37 e.printStackTrace();
38 }
39
40 // finish
41 assertEquals("Unexpected eventCount", 15316, feventCount);
42 boolean expected = true;
43 assertEquals("Events received out of expected order", expected, validSequence);
44 }
45
46 /**
47 *
48 */
49 public void testSyntheticEventRequest() {
50 init();
51 // Create a new Experiment manager context
52 IStateExperimentManager expManager = prepareExperimentContext(false);
53
54 // make sure a TmfExperiment instance is registered as provider and
55 // selected as current
56 TmfExperiment<LttngEvent> experiment = prepareExperimentToTest();
57
58 // experiment selected, build experiment selection context and trigger
59 // check point creation
60 expManager.experimentSelected_prep(experiment);
61 // builds check points in parallel
62 expManager.experimentSelected(this, experiment);
63
64 // Obtain the singleton event provider
65 LttngSyntheticEventProvider synProvider = LttngCoreProviderFactory.getEventProvider();
66
67 // prepare synthetic event requests
68 boolean printExpectedEvents = false;
69 TmfEventRequest<LttngSyntheticEvent> request1 = prepareEventRequest(LttngSyntheticEvent.class, 5, 9,
70 printExpectedEvents); /* 2001 events */
71 TmfEventRequest<LttngSyntheticEvent> request2 = prepareEventRequest(LttngSyntheticEvent.class, 11, 13,
72 printExpectedEvents); /* 1001 events */
73
74 // execute
75 synProvider.sendRequest(request1);
76 // try {
77 // request1.waitForCompletion();
78 // } catch (InterruptedException e) {
79 // e.printStackTrace();
80 // }
81 System.out.println("EventCount " + feventCount);
82
83 synProvider.sendRequest(request2);
84 try {
85 request2.waitForCompletion();
86 } catch (InterruptedException e) {
87 e.printStackTrace();
88 }
89 System.out.println("EventCount " + feventCount);
90
91 // finish
92 assertEquals("Unexpected eventCount", 3002, feventCount);
93 }
94
95 }
This page took 0.03163 seconds and 5 git commands to generate.