tmf: Move plugins to their own sub-directory
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / request / TmfCoalescedEventRequestTest.java
CommitLineData
5419a136 1/*******************************************************************************
ed902a2b 2 * Copyright (c) 2009, 2015 Ericsson
5419a136
AM
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 * Francois Chouinard - Initial API and implementation
6e1886bc 11 * Alexandre Montplaisir - Port to JUnit4
5419a136
AM
12 *******************************************************************************/
13
2bdf0193 14package org.eclipse.tracecompass.tmf.core.tests.request;
5419a136 15
6e1886bc
AM
16import static org.junit.Assert.assertEquals;
17import static org.junit.Assert.assertFalse;
18import static org.junit.Assert.assertTrue;
19
5419a136
AM
20import java.io.File;
21import java.io.IOException;
22import java.net.URISyntaxException;
23import java.net.URL;
24import java.util.Vector;
25
5419a136
AM
26import org.eclipse.core.runtime.FileLocator;
27import org.eclipse.core.runtime.Path;
2bdf0193
AM
28import org.eclipse.tracecompass.internal.tmf.core.component.TmfProviderManager;
29import org.eclipse.tracecompass.internal.tmf.core.request.TmfCoalescedEventRequest;
30import org.eclipse.tracecompass.tmf.core.component.ITmfEventProvider;
31import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
32import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
2bdf0193 33import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest.ExecutionType;
788f835b 34import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
2bdf0193
AM
35import org.eclipse.tracecompass.tmf.core.signal.TmfSignal;
36import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
37import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
38import org.eclipse.tracecompass.tmf.core.tests.TmfCoreTestPlugin;
39import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
40import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
41import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
42import org.eclipse.tracecompass.tmf.tests.stubs.request.TmfEventRequestStub;
43import org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub;
6e1886bc
AM
44import org.junit.Before;
45import org.junit.Test;
5419a136
AM
46
47/**
5419a136
AM
48 * Test suite for the TmfCoalescedEventRequest class.
49 */
cad06250 50@SuppressWarnings("javadoc")
6e1886bc
AM
51public class TmfCoalescedEventRequestTest {
52
53 // ------------------------------------------------------------------------
54 // Variables
55 // ------------------------------------------------------------------------
56
b8e2854f 57 private final TmfTimeRange range1 = TmfTimeRange.ETERNITY;
6e1886bc
AM
58 private final TmfTimeRange range2 = new TmfTimeRange(new TmfTimestamp(), TmfTimestamp.BIG_CRUNCH);
59
60 private TmfCoalescedEventRequest fRequest1;
61 private TmfCoalescedEventRequest fRequest2;
62 private TmfCoalescedEventRequest fRequest3;
63 private TmfCoalescedEventRequest fRequest4;
64
6e1886bc
AM
65 private TmfCoalescedEventRequest fRequest1c;
66
67 private int fRequestCount;
68
69 // ------------------------------------------------------------------------
70 // Housekeeping
71 // ------------------------------------------------------------------------
72
73 @Before
74 public void setUp() {
672a642a
AM
75 fRequest1 = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
76 fRequest2 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 100, ExecutionType.FOREGROUND);
77 fRequest3 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 200, ExecutionType.FOREGROUND);
78 fRequest4 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 200, ExecutionType.FOREGROUND);
6e1886bc 79
672a642a 80 fRequest1c = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
6e1886bc
AM
81
82 fRequestCount = fRequest1c.getRequestId() + 1;
83 }
84
85 private TmfCoalescedEventRequest setupTestRequest(final boolean[] flags) {
86
672a642a 87 TmfCoalescedEventRequest request = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND) {
6e1886bc
AM
88 @Override
89 public void handleCompleted() {
90 super.handleCompleted();
91 flags[0] = true;
92 }
93
94 @Override
95 public void handleSuccess() {
96 super.handleSuccess();
97 flags[1] = true;
98 }
99
100 @Override
101 public void handleFailure() {
102 super.handleFailure();
103 flags[2] = true;
104 }
105
106 @Override
107 public void handleCancel() {
108 super.handleCancel();
109 flags[3] = true;
110 }
111 };
112 return request;
113 }
114
115 // ------------------------------------------------------------------------
cf5bad96 116 // Constructor
6e1886bc
AM
117 // ------------------------------------------------------------------------
118
6e1886bc
AM
119 @Test
120 public void testTmfCoalescedEventRequestIndexNbEventsBlocksize() {
672a642a 121 TmfCoalescedEventRequest request = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
5419a136
AM
122
123 assertEquals("getRequestId", fRequestCount++, request.getRequestId());
6e1886bc 124 assertEquals("getDataType", ITmfEvent.class, request.getDataType());
5419a136
AM
125
126 assertEquals("getRange", range1, request.getRange());
127 assertEquals("getNbRequestedEvents", 100, request.getNbRequested());
128
129 assertFalse("isCompleted", request.isCompleted());
130 assertFalse("isFailed", request.isFailed());
131 assertFalse("isCancelled", request.isCancelled());
132
133 assertEquals("getNbRead", 0, request.getNbRead());
6e1886bc 134 }
5419a136 135
6e1886bc
AM
136 // ------------------------------------------------------------------------
137 // equals
138 // ------------------------------------------------------------------------
5419a136 139
6e1886bc 140 @Test
788f835b
AM
141 public void testEquals() {
142 /*
143 * No two different requests should be "equal", even if they used the
144 * same constructor parameters.
145 */
146 assertTrue(fRequest1.equals(fRequest1));
147 assertFalse(fRequest1.equals(fRequest2));
148 assertFalse(fRequest1.equals(fRequest3));
149 assertFalse(fRequest1.equals(fRequest4));
6e1886bc 150 }
5419a136 151
6e1886bc
AM
152 // ------------------------------------------------------------------------
153 // toString
154 // ------------------------------------------------------------------------
5419a136 155
6e1886bc
AM
156 @Test
157 public void testToString() {
788f835b
AM
158 String expected1 = "[TmfCoalescedEventRequest(" + fRequest1.getRequestId() + ",ITmfEvent,FOREGROUND," + range1 + ",0,100, [])]";
159 String expected2 = "[TmfCoalescedEventRequest(" + fRequest2.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,100, [])]";
160 String expected3 = "[TmfCoalescedEventRequest(" + fRequest3.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,200, [])]";
161 String expected4 = "[TmfCoalescedEventRequest(" + fRequest4.getRequestId() + ",ITmfEvent,FOREGROUND," + range2 + ",0,200, [])]";
5419a136
AM
162
163 assertEquals("toString", expected1, fRequest1.toString());
164 assertEquals("toString", expected2, fRequest2.toString());
165 assertEquals("toString", expected3, fRequest3.toString());
166 assertEquals("toString", expected4, fRequest4.toString());
6e1886bc 167 }
5419a136 168
6e1886bc
AM
169 // ------------------------------------------------------------------------
170 // isCompatible
171 // ------------------------------------------------------------------------
5419a136 172
6e1886bc
AM
173 @Test
174 public void testIsCompatible() {
672a642a 175 TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
6e1886bc
AM
176 TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
177 TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range2, 100, 200);
178 TmfEventRequest req3 = new TmfEventRequestStub(ITmfEvent.class, range1, 101, 200);
5419a136 179
6e1886bc
AM
180 assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
181 assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
182 assertTrue("isCompatible", coalescedRequest.isCompatible(req3));
183 }
5419a136
AM
184
185 // ------------------------------------------------------------------------
186 // addEvent
187 // ------------------------------------------------------------------------
188
6e1886bc 189 @Test
5419a136 190 public void testAddEvent1() {
672a642a 191 TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 2147483647, ExecutionType.FOREGROUND);
6e1886bc
AM
192 TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 0, 2147483647, 200);
193 TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range1, 1, 2147483647, 200);
5419a136 194
6e1886bc
AM
195 assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
196 assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
5419a136 197
6e1886bc
AM
198 coalescedRequest.addRequest(req1);
199 coalescedRequest.addRequest(req2);
5419a136 200
6e1886bc 201 assertEquals("addRequest", 0, coalescedRequest.getIndex());
5419a136 202 assertEquals("addRequest", 2147483647, coalescedRequest.getNbRequested());
5419a136
AM
203 }
204
6e1886bc 205 @Test
5419a136 206 public void testAddEvent2() {
672a642a 207 TmfCoalescedEventRequest coalescedRequest = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 1, 2147483647, ExecutionType.FOREGROUND);
6e1886bc
AM
208 TmfEventRequest req1 = new TmfEventRequestStub(ITmfEvent.class, range1, 1, 2147483647, 200);
209 TmfEventRequest req2 = new TmfEventRequestStub(ITmfEvent.class, range1, 0, 2147483647, 200);
5419a136 210
6e1886bc
AM
211 assertTrue("isCompatible", coalescedRequest.isCompatible(req1));
212 assertTrue("isCompatible", coalescedRequest.isCompatible(req2));
5419a136 213
6e1886bc
AM
214 coalescedRequest.addRequest(req1);
215 coalescedRequest.addRequest(req2);
5419a136 216
6e1886bc 217 assertEquals("addRequest", 0, coalescedRequest.getIndex());
5419a136 218 assertEquals("addRequest", 2147483647, coalescedRequest.getNbRequested());
6e1886bc
AM
219 }
220
221 // ------------------------------------------------------------------------
222 // done
223 // ------------------------------------------------------------------------
224
225 @Test
226 public void testDone() {
227 // Test request
228 final boolean[] crFlags = new boolean[4];
229 TmfCoalescedEventRequest request = setupTestRequest(crFlags);
230 TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
231 TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
232 request.addRequest(subRequest1);
233 request.addRequest(subRequest2);
234
235 request.done();
236
237 // Validate the coalescing request
238 assertTrue("isCompleted", request.isCompleted());
239 assertFalse("isFailed", request.isFailed());
240 assertFalse("isCancelled", request.isCancelled());
241
242 assertTrue("handleCompleted", crFlags[0]);
243 assertTrue("handleSuccess", crFlags[1]);
244 assertFalse("handleFailure", crFlags[2]);
245 assertFalse("handleCancel", crFlags[3]);
246
247 // Validate the first coalesced request
248 assertTrue("isCompleted", subRequest1.isCompleted());
249 assertFalse("isFailed", subRequest1.isFailed());
250 assertFalse("isCancelled", subRequest1.isCancelled());
251
252 // Validate the second coalesced request
253 assertTrue("isCompleted", subRequest2.isCompleted());
254 assertFalse("isFailed", subRequest2.isFailed());
255 assertFalse("isCancelled", subRequest2.isCancelled());
256 }
257
258 // ------------------------------------------------------------------------
259 // fail
260 // ------------------------------------------------------------------------
261
262 @Test
263 public void testFail() {
264 final boolean[] crFlags = new boolean[4];
265 TmfCoalescedEventRequest request = setupTestRequest(crFlags);
266 TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
267 TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
268 request.addRequest(subRequest1);
269 request.addRequest(subRequest2);
270
271 request.fail();
272
273 // Validate the coalescing request
274 assertTrue("isCompleted", request.isCompleted());
275 assertTrue("isFailed", request.isFailed());
276 assertFalse("isCancelled", request.isCancelled());
277
278 assertTrue("handleCompleted", crFlags[0]);
279 assertFalse("handleSuccess", crFlags[1]);
280 assertTrue("handleFailure", crFlags[2]);
281 assertFalse("handleCancel", crFlags[3]);
282
283 // Validate the first coalesced request
284 assertTrue("isCompleted", subRequest1.isCompleted());
285 assertTrue("isFailed", subRequest1.isFailed());
286 assertFalse("isCancelled", subRequest1.isCancelled());
5419a136 287
6e1886bc
AM
288 // Validate the second coalesced request
289 assertTrue("isCompleted", subRequest2.isCompleted());
290 assertTrue("isFailed", subRequest2.isFailed());
291 assertFalse("isCancelled", subRequest2.isCancelled());
5419a136
AM
292 }
293
6e1886bc
AM
294 // ------------------------------------------------------------------------
295 // cancel
296 // ------------------------------------------------------------------------
297
298 @Test
299 public void testCancel() {
300 final boolean[] crFlags = new boolean[4];
301 TmfCoalescedEventRequest request = setupTestRequest(crFlags);
302 TmfEventRequest subRequest1 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
303 TmfEventRequest subRequest2 = new TmfEventRequestStub(ITmfEvent.class, range1, 100, 200);
304 request.addRequest(subRequest1);
305 request.addRequest(subRequest2);
306
307 request.cancel();
308
309 // Validate the coalescing request
310 assertTrue("isCompleted", request.isCompleted());
311 assertFalse("isFailed", request.isFailed());
312 assertTrue("isCancelled", request.isCancelled());
313
314 assertTrue("handleCompleted", crFlags[0]);
315 assertFalse("handleSuccess", crFlags[1]);
316 assertFalse("handleFailure", crFlags[2]);
317 assertTrue("handleCancel", crFlags[3]);
318
319 // Validate the first coalesced request
320 assertTrue("isCompleted", subRequest1.isCompleted());
321 assertFalse("isFailed", subRequest1.isFailed());
322 assertTrue("isCancelled", subRequest1.isCancelled());
323
324 // Validate the second coalesced request
325 assertTrue("isCompleted", subRequest2.isCompleted());
326 assertFalse("isFailed", subRequest2.isFailed());
327 assertTrue("isCancelled", subRequest2.isCancelled());
328 }
329
330 // ------------------------------------------------------------------------
331 // Coalescing
332 // ------------------------------------------------------------------------
333
9c4d52ee 334 private static final TmfTestTrace TEST_TRACE = TmfTestTrace.A_TEST_10K;
6e1886bc 335 private static final int NB_EVENTS = 5000;
5419a136
AM
336
337 // Initialize the test trace
338 private TmfTraceStub fTrace = null;
6e1886bc 339
5419a136 340 private synchronized TmfTraceStub setupTrace(String path) {
6e1886bc
AM
341 if (fTrace == null) {
342 try {
343 URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
344 File test = new File(FileLocator.toFileURL(location).toURI());
ab186fbb 345 fTrace = new TmfTraceStub(test.getPath(), 500, false, null);
6e1886bc
AM
346 } catch (TmfTraceException e) {
347 e.printStackTrace();
5419a136
AM
348 } catch (URISyntaxException e) {
349 e.printStackTrace();
6e1886bc
AM
350 } catch (IOException e) {
351 e.printStackTrace();
352 }
353 }
354 return fTrace;
5419a136
AM
355 }
356
6e1886bc 357 Vector<ITmfEvent> requestedEvents1;
5419a136
AM
358 Vector<ITmfEvent> requestedEvents2;
359 Vector<ITmfEvent> requestedEvents3;
360
361 TmfEventRequest request1;
362 TmfEventRequest request2;
363 TmfEventRequest request3;
364
fd3f1eff 365 ITmfEventProvider[] providers;
5419a136
AM
366
367 private static class TmfTestTriggerSignal extends TmfSignal {
6e1886bc
AM
368 public final boolean forceCancel;
369 public final long fIndex;
370
371 public TmfTestTriggerSignal(Object source, long index, boolean cancel) {
372 super(source);
373 forceCancel = cancel;
374 fIndex = index;
375 }
5419a136
AM
376 }
377
e5647f20
BH
378 private static class TmfTestTriggerSignal2 extends TmfSignal {
379 public TmfTestTriggerSignal2(Object source) {
380 super(source);
381 }
382 }
383
6e1886bc 384 @TmfSignalHandler
5419a136
AM
385 public void trigger(final TmfTestTriggerSignal signal) {
386
387 TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
388 final long REQUEST_OFFSET = 1000;
389
ccf2bbb4 390 requestedEvents1 = new Vector<>();
7184fc40 391 request1 = new TmfEventRequest(ITmfEvent.class, range, signal.fIndex,
672a642a 392 NB_EVENTS, ExecutionType.FOREGROUND) {
5419a136
AM
393 @Override
394 public void handleData(ITmfEvent event) {
6e1886bc
AM
395 super.handleData(event);
396 if (!isCompleted()) {
397 requestedEvents1.add(event);
672a642a 398 if (signal.forceCancel) {
5419a136
AM
399 cancel();
400 }
6e1886bc 401 }
5419a136
AM
402 }
403 };
404
ccf2bbb4 405 requestedEvents2 = new Vector<>();
7184fc40 406 request2 = new TmfEventRequest(ITmfEvent.class, range,
672a642a 407 signal.fIndex + REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
5419a136
AM
408 @Override
409 public void handleData(ITmfEvent event) {
6e1886bc
AM
410 super.handleData(event);
411 if (!isCompleted()) {
412 requestedEvents2.add(event);
413 }
5419a136
AM
414 }
415 };
416
ccf2bbb4 417 requestedEvents3 = new Vector<>();
7184fc40 418 request3 = new TmfEventRequest(ITmfEvent.class, range,
672a642a 419 signal.fIndex + 2 * REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
5419a136
AM
420 @Override
421 public void handleData(ITmfEvent event) {
6e1886bc
AM
422 super.handleData(event);
423 if (!isCompleted()) {
424 requestedEvents3.add(event);
425 }
5419a136
AM
426 }
427 };
428
2771b032 429 providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
5419a136
AM
430 providers[0].sendRequest(request1);
431 providers[0].sendRequest(request2);
432 providers[0].sendRequest(request3);
433 }
434
e5647f20
BH
435 /**
436 * @param signal
437 * the trigger signal
438 */
439 @TmfSignalHandler
440 public void trigger(final TmfTestTriggerSignal2 signal) {
441 TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(100, -3), TmfTimestamp.BIG_CRUNCH);
442 requestedEvents1 = new Vector<>();
443 request1 = new TmfEventRequest(ITmfEvent.class, range, 0, 1, ExecutionType.FOREGROUND) {
444 @Override
445 public void handleData(ITmfEvent event) {
446 super.handleData(event);
447 if (!isCompleted()) {
448 requestedEvents1.add(event);
449 }
450 }
451 };
452 providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
453 providers[0].sendRequest(request1);
454 }
455
5419a136
AM
456 public void runCoalescedRequest(long startIndex) throws InterruptedException {
457
9c4d52ee 458 fTrace = setupTrace(TEST_TRACE.getFullPath());
5419a136
AM
459
460 TmfSignalManager.register(this);
461 TmfTestTriggerSignal signal = new TmfTestTriggerSignal(this, startIndex, false);
462 TmfSignalManager.dispatchSignal(signal);
463
464 request1.waitForCompletion();
465 request2.waitForCompletion();
466 request3.waitForCompletion();
467
468 try {
469 assertEquals("Request1: nbEvents", NB_EVENTS, requestedEvents1.size());
6e1886bc
AM
470 assertTrue("Request1: isCompleted", request1.isCompleted());
471 assertFalse("Request1: isCancelled", request1.isCancelled());
5419a136
AM
472
473 assertEquals("Request2: nbEvents", NB_EVENTS, requestedEvents2.size());
6e1886bc
AM
474 assertTrue("Request2: isCompleted", request2.isCompleted());
475 assertFalse("Request2: isCancelled", request2.isCancelled());
5419a136
AM
476
477 assertEquals("Request3: nbEvents", NB_EVENTS, requestedEvents3.size());
6e1886bc
AM
478 assertTrue("Request3: isCompleted", request3.isCompleted());
479 assertFalse("Request3: isCancelled", request3.isCancelled());
5419a136
AM
480
481 // Ensure that we have distinct events.
482 // Don't go overboard: we are not validating the stub!
483 for (int i = 0; i < NB_EVENTS; i++) {
484 assertEquals("Distinct events", i + 1 + request1.getIndex(), requestedEvents1.get(i).getTimestamp().getValue());
485 assertEquals("Distinct events", i + 1 + request2.getIndex(), requestedEvents2.get(i).getTimestamp().getValue());
486 assertEquals("Distinct events", i + 1 + request3.getIndex(), requestedEvents3.get(i).getTimestamp().getValue());
487 }
6e1886bc 488 } finally {
5419a136
AM
489 TmfSignalManager.deregister(this);
490 fTrace.dispose();
491 fTrace = null;
492 }
493 }
494
6e1886bc 495 @Test
5419a136
AM
496 public void testCoalescedRequest() throws InterruptedException {
497 runCoalescedRequest(0);
498 runCoalescedRequest(1);
499 runCoalescedRequest(5);
500 }
501
6e1886bc
AM
502 @Test
503 public void testCancelCoalescedRequest() throws InterruptedException {
5419a136 504
9c4d52ee 505 fTrace = setupTrace(TEST_TRACE.getFullPath());
5419a136 506
6e1886bc
AM
507 TmfSignalManager.register(this);
508 TmfTestTriggerSignal signal = new TmfTestTriggerSignal(this, 0, true);
509 TmfSignalManager.dispatchSignal(signal);
5419a136
AM
510
511 request1.waitForCompletion();
512 request2.waitForCompletion();
513 request3.waitForCompletion();
514
6e1886bc
AM
515 assertTrue("Request1: isCompleted", request1.isCompleted());
516 assertTrue("Request1: isCancelled", request1.isCancelled());
5419a136
AM
517
518 assertEquals("Request2: nbEvents", NB_EVENTS, requestedEvents2.size());
6e1886bc
AM
519 assertTrue("Request2: isCompleted", request2.isCompleted());
520 assertFalse("Request2: isCancelled", request2.isCancelled());
5419a136
AM
521
522 assertEquals("Request3: nbEvents", NB_EVENTS, requestedEvents3.size());
6e1886bc
AM
523 assertTrue("Request3: isCompleted", request3.isCompleted());
524 assertFalse("Request3: isCancelled", request3.isCancelled());
5419a136
AM
525
526 // Ensure that we have distinct events.
527 // Don't go overboard: we are not validating the stub!
5419a136
AM
528 for (int i = 0; i < NB_EVENTS; i++) {
529 assertEquals("Distinct events", i + 1 + request2.getIndex(), requestedEvents2.get(i).getTimestamp().getValue());
530 assertEquals("Distinct events", i + 1 + request3.getIndex(), requestedEvents3.get(i).getTimestamp().getValue());
531 }
532
533 TmfSignalManager.deregister(this);
534 fTrace.dispose();
535 fTrace = null;
536 }
537
e5647f20
BH
538 @Test
539 public void testSingleTimeRequest() throws InterruptedException {
540
541 fTrace = setupTrace(TEST_TRACE.getFullPath());
542
543 TmfSignalManager.register(this);
544 TmfTestTriggerSignal2 signal = new TmfTestTriggerSignal2(this);
545 TmfSignalManager.dispatchSignal(signal);
546
547 request1.waitForCompletion();
548
549 assertTrue("Request1: isCompleted", request1.isCompleted());
550
551 // We have to have one event processed
552 assertEquals("Request1: nbEvents", 1, requestedEvents1.size());
553
554 TmfSignalManager.deregister(this);
555 fTrace.dispose();
556 fTrace = null;
557 }
558
5419a136 559}
This page took 0.101708 seconds and 5 git commands to generate.