Commit | Line | Data |
---|---|---|
03c71d1e ASL |
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; | |
a72a38d9 ASL |
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; | |
03c71d1e ASL |
20 | |
21 | public class LTTngSyntheticEventProviderTest extends LttngTestPreparation { | |
22 | // ======================================================================== | |
23 | // Tests | |
24 | // ======================================================================== | |
25 | ||
3d62f8b7 | 26 | public void testPlainDataRequest() { |
a72a38d9 ASL |
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); | |
3d62f8b7 | 44 | } |
9b635e61 FC |
45 | |
46 | /** | |
47 | * | |
48 | */ | |
49 | public void testSyntheticEventRequest() { | |
a72a38d9 ASL |
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); | |
9b635e61 | 93 | } |
03c71d1e ASL |
94 | |
95 | } |