1 /*******************************************************************************
2 * Copyright (c) 2010 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 * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
11 *******************************************************************************/
12 package org
.eclipse
.linuxtools
.lttng
.control
;
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
;
21 public class LTTngSyntheticEventProviderTest
extends LttngTestPreparation
{
22 // ========================================================================
24 // ========================================================================
26 public void testPlainDataRequest() {
29 TmfExperiment
<LttngEvent
> experiment
= prepareExperimentToTest();
30 TmfEventRequest
<LttngEvent
> request
= prepareEventRequest(LttngEvent
.class, 0, 31);
33 experiment
.sendRequest(request
);
35 request
.waitForCompletion();
36 } catch (InterruptedException e
) {
41 assertEquals("Unexpected eventCount", 15316, feventCount
);
42 boolean expected
= true;
43 assertEquals("Events received out of expected order", expected
, validSequence
);
49 public void testSyntheticEventRequest() {
51 // Create a new Experiment manager context
52 IStateExperimentManager expManager
= prepareExperimentContext(false);
54 // make sure a TmfExperiment instance is registered as provider and
55 // selected as current
56 TmfExperiment
<LttngEvent
> experiment
= prepareExperimentToTest();
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
);
64 // Obtain the singleton event provider
65 LttngSyntheticEventProvider synProvider
= LttngCoreProviderFactory
.getEventProvider();
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 */
75 synProvider
.sendRequest(request1
);
77 // request1.waitForCompletion();
78 // } catch (InterruptedException e) {
79 // e.printStackTrace();
81 System
.out
.println("EventCount " + feventCount
);
83 synProvider
.sendRequest(request2
);
85 request2
.waitForCompletion();
86 } catch (InterruptedException e
) {
89 System
.out
.println("EventCount " + feventCount
);
92 assertEquals("Unexpected eventCount", 3002, feventCount
);