a2621bbe0568af80c22bc929657b8b80b4772013
[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(
31 LttngEvent.class, 0, 31);
32
33 // execute
34 experiment.sendRequest(request);
35 try {
36 request.waitForCompletion();
37 } catch (InterruptedException e) {
38 e.printStackTrace();
39 }
40
41 // finish
42 assertEquals("Unexpected eventCount", 15316, feventCount);
43 boolean expected = true;
44 assertEquals("Events received out of expected order", expected,
45 validSequence);
46 }
47
48 /**
49 *
50 */
51 public void testSyntheticEventRequest() {
52 init();
53 // Create a new Experiment manager context
54 IStateExperimentManager expManager = prepareExperimentContext(false);
55
56 // make sure a TmfExperiment instance is registered as provider and
57 // selected as current
58 TmfExperiment<LttngEvent> experiment = prepareExperimentToTest();
59
60 // experiment selected, build experiment selection context and trigger
61 // check point creation
62 expManager.experimentSelected_prep(experiment);
63 // Action trigger
64 expManager.experimentSelected(this, experiment);
65
66 // Obtain the singleton event provider
67 LttngSyntheticEventProvider synProvider = LttngCoreProviderFactory
68 .getEventProvider();
69
70 // prepare synthetic event requests
71 TmfEventRequest<LttngSyntheticEvent> request1 = prepareEventRequest(
72 LttngSyntheticEvent.class, 5, 9); /* 2001 events*/
73 TmfEventRequest<LttngSyntheticEvent> request2 = prepareEventRequest(
74 LttngSyntheticEvent.class, 11, 13); /* 1001 events */
75
76 // execute
77 synProvider.sendRequest(request1);
78 synProvider.sendRequest(request2);
79 try {
80 request2.waitForCompletion();
81 } catch (InterruptedException e) {
82 e.printStackTrace();
83 }
84
85
86 // finish
87 assertEquals("Unexpected eventCount", 3002, feventCount);
88 }
89
90 }
This page took 0.032662 seconds and 4 git commands to generate.