Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Chouinard2012-05-14 20:28:41 +0000
committerFrancois Chouinard2012-05-14 20:28:41 +0000
commita009a146f8cb3dfcc517ad75e01e9bc497ff9e10 (patch)
tree2d39e5f6bc0649f7e4968ff958895b59a087e742 /lttng/org.eclipse.linuxtools.tmf.core.tests
parentd1de21ae88fefb31d1edd81e509ca93222b5259f (diff)
parent26d11523ad5565c89df62a1a35582c8d27e02ff5 (diff)
downloadorg.eclipse.linuxtools-a009a146f8cb3dfcc517ad75e01e9bc497ff9e10.tar.gz
org.eclipse.linuxtools-a009a146f8cb3dfcc517ad75e01e9bc497ff9e10.tar.xz
org.eclipse.linuxtools-a009a146f8cb3dfcc517ad75e01e9bc497ff9e10.zip
Merge branch 'master'
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.core.tests')
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfTraceTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java19
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java168
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java497
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java504
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointIndexTest.java24
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointTest.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java3
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java652
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfLocationTest.java2
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java102
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java56
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java31
22 files changed, 626 insertions, 1458 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfTraceTest.java
index ceaca0ded2..ae11c98b66 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfTraceTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/CtfTmfTraceTest.java
@@ -767,7 +767,7 @@ public class CtfTmfTraceTest {
CtfTmfTrace fixture = initTrace();
ITmfContext context = fixture.seekEvent(0);
- CtfTmfEvent result = fixture.readNextEvent(context);
+ CtfTmfEvent result = fixture.getNext(context);
// add additional test code here
// An unexpected exception was thrown in user code while executing this test:
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java
index f26e5ddc1e..a0b94e09b3 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/AllTests.java
@@ -19,8 +19,7 @@ import junit.framework.TestSuite;
import org.eclipse.linuxtools.internal.tmf.core.TmfCorePlugin;
/**
- * <b><u>AllTests</u></b>
- * <p>
+ * Test suite for org.eclipse.linuxtools.tmf.core.event
*/
@SuppressWarnings("nls")
public class AllTests {
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java
index dcfc605113..c710ee881c 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventFieldTest.java
@@ -19,8 +19,6 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
/**
- * <b><u>TmfEventFieldTest</u></b>
- * <p>
* Test suite for the TmfEventField class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java
index 3ae06dac22..a87beae139 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTest.java
@@ -37,8 +37,6 @@ import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
/**
- * <b><u>TmfEventTest</u></b>
- * <p>
* Test suite for the TmfEvent class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java
index 5216666c7e..4ef3ba445a 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeManagerTest.java
@@ -22,10 +22,7 @@ import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
import org.eclipse.linuxtools.tmf.core.event.TmfEventTypeManager;
/**
- * <b><u>TmfEventTypeManagerTest</u></b>
- * <p>
* Test suite for the TmfEventTypeManager class.
- * <p>
*/
@SuppressWarnings("nls")
public class TmfEventTypeManagerTest extends TestCase {
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java
index 76238f741c..ddd7889ffc 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfEventTypeTest.java
@@ -20,8 +20,6 @@ import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
/**
- * <b><u>TmfEventTypeTest</u></b>
- * <p>
* Test suite for the TmfEventType class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java
index 1bfd3f630f..bb198b5650 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfSimpleTimestampTest.java
@@ -19,8 +19,6 @@ import org.eclipse.linuxtools.tmf.core.event.TmfSimpleTimestamp;
import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
/**
- * <b><u>TmfSimpleTimestampTest</u></b>
- * <p>
* Test suite for the TmfSimpleTimestampTest class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java
index 216677e259..a3e3e390cb 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimeRangeTest.java
@@ -20,8 +20,6 @@ import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
/**
- * <b><u>TmfTimeRangeTest</u></b>
- * <p>
* Test suite for the TmfTimeRange class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java
index e60b94c3b5..95e1136ee2 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/event/TmfTimestampTest.java
@@ -19,8 +19,6 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp;
import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
/**
- * <b><u>TmfTimestampTest</u></b>
- * <p>
* Test suite for the TmfTimestamp class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java
index 21c10605e2..1192d6a14f 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java
@@ -1,3 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2012 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Francois Chouinard - Initial API and implementation
+ * Francois Chouinard - Adjusted for new Trace Model
+ *******************************************************************************/
+
package org.eclipse.linuxtools.tmf.core.tests.experiment;
import junit.framework.Test;
@@ -5,13 +18,17 @@ import junit.framework.TestSuite;
import org.eclipse.linuxtools.internal.tmf.core.TmfCorePlugin;
+/**
+ * Test suite for org.eclipse.linuxtools.tmf.core.experiment
+ */
@SuppressWarnings("nls")
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("Test suite for " + TmfCorePlugin.PLUGIN_ID + ".experiment"); //$NON-NLS-1$);
//$JUnit-BEGIN$
- suite.addTestSuite(TmfExperimentTest.class);
+ suite.addTestSuite(TmfExperimentCheckpointIndexTest.class);
+ suite.addTestSuite(TmfExperimentTest.class);
suite.addTestSuite(TmfMultiTraceExperimentTest.class);
//$JUnit-END$
return suite;
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java
new file mode 100644
index 0000000000..d847c9a36f
--- /dev/null
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java
@@ -0,0 +1,168 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Francois Chouinard - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.tmf.core.tests.experiment;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
+import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment;
+import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentContext;
+import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentLocation;
+import org.eclipse.linuxtools.tmf.core.experiment.TmfLocationArray;
+import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint;
+import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpointIndexer;
+import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
+import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
+
+/**
+ * Test suite for the TmfCheckpointIndexTest class.
+ */
+@SuppressWarnings("nls")
+public class TmfExperimentCheckpointIndexTest extends TestCase {
+
+ // ------------------------------------------------------------------------
+ // Attributes
+ // ------------------------------------------------------------------------
+
+ private static final String DIRECTORY = "testfiles";
+ private static final String TEST_STREAM1 = "O-Test-10K";
+ private static final String TEST_STREAM2 = "E-Test-10K";
+ private static final String EXPERIMENT = "MyExperiment";
+ private static int NB_EVENTS = 20000;
+ private static int BLOCK_SIZE = 1000;
+
+ private static ITmfTrace<?>[] fTestTraces;
+ private static TestExperiment fExperiment;
+
+ // ------------------------------------------------------------------------
+ // Helper classes
+ // ------------------------------------------------------------------------
+
+ private class TestIndexer extends TmfCheckpointIndexer<ITmfTrace<ITmfEvent>> {
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public TestIndexer(TestExperiment testExperiment) {
+ super((ITmfTrace) testExperiment, BLOCK_SIZE);
+ }
+ public List<TmfCheckpoint> getCheckpoints() {
+ return getTraceIndex();
+ }
+ }
+
+ private class TestExperiment extends TmfExperiment<ITmfEvent> {
+ @SuppressWarnings("unchecked")
+ public TestExperiment() {
+ super(ITmfEvent.class, EXPERIMENT, (ITmfTrace<ITmfEvent>[]) fTestTraces, TmfTimestamp.ZERO, BLOCK_SIZE, false);
+ setIndexer(new TestIndexer(this));
+ getIndexer().buildIndex(true);
+ }
+ @Override
+ public TestIndexer getIndexer() {
+ return (TestIndexer) super.getIndexer();
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // Housekeeping
+ // ------------------------------------------------------------------------
+
+ public TmfExperimentCheckpointIndexTest(final String name) throws Exception {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ setupTrace(DIRECTORY + File.separator + TEST_STREAM1, DIRECTORY + File.separator + TEST_STREAM2);
+ if (fExperiment == null) {
+ fExperiment = new TestExperiment();
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ fExperiment.dispose();
+ fExperiment = null;
+ }
+
+ private static ITmfTrace<?>[] setupTrace(final String path1, final String path2) {
+ if (fTestTraces == null) {
+ fTestTraces = new ITmfTrace[2];
+ try {
+ URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path1), null);
+ File test = new File(FileLocator.toFileURL(location).toURI());
+ final TmfTraceStub trace1 = new TmfTraceStub(test.getPath(), 0, true);
+ fTestTraces[0] = trace1;
+ location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path2), null);
+ test = new File(FileLocator.toFileURL(location).toURI());
+ final TmfTraceStub trace2 = new TmfTraceStub(test.getPath(), 0, true);
+ fTestTraces[1] = trace2;
+ } catch (final TmfTraceException e) {
+ e.printStackTrace();
+ } catch (final URISyntaxException e) {
+ e.printStackTrace();
+ } catch (final IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return fTestTraces;
+ }
+
+ // ------------------------------------------------------------------------
+ // Verify checkpoints
+ // ------------------------------------------------------------------------
+
+ public void testTmfTraceIndexing() throws Exception {
+ assertEquals("getCacheSize", BLOCK_SIZE, fExperiment.getCacheSize());
+ assertEquals("getTraceSize", NB_EVENTS, fExperiment.getNbEvents());
+ assertEquals("getRange-start", 1, fExperiment.getTimeRange().getStartTime().getValue());
+ assertEquals("getRange-end", NB_EVENTS, fExperiment.getTimeRange().getEndTime().getValue());
+ assertEquals("getStartTime", 1, fExperiment.getStartTime().getValue());
+ assertEquals("getEndTime", NB_EVENTS, fExperiment.getEndTime().getValue());
+
+ List<TmfCheckpoint> checkpoints = fExperiment.getIndexer().getCheckpoints();
+ int pageSize = fExperiment.getCacheSize();
+ assertTrue("Checkpoints exist", checkpoints != null);
+ assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE, checkpoints.size());
+
+ // Validate that each checkpoint points to the right event
+ for (int i = 0; i < checkpoints.size(); i++) {
+ TmfCheckpoint checkpoint = checkpoints.get(i);
+ TmfExperimentLocation expLocation = (TmfExperimentLocation) checkpoint.getLocation();
+ TmfLocationArray locations = expLocation.getLocation();
+ ITmfContext[] trcContexts = new ITmfContext[2];
+ trcContexts[0] = new TmfContext(locations.getLocations()[0], (i * pageSize) / 2);
+ trcContexts[1] = new TmfContext(locations.getLocations()[1], (i * pageSize) / 2);
+ TmfExperimentContext expContext = new TmfExperimentContext(trcContexts);
+ expContext.getEvents()[0] = fTestTraces[0].getNext(fTestTraces[0].seekEvent((i * pageSize) / 2));
+ expContext.getEvents()[1] = fTestTraces[1].getNext(fTestTraces[1].seekEvent((i * pageSize) / 2));
+ ITmfEvent event = fExperiment.parseEvent(expContext);
+ assertTrue(expContext.getRank() == i * pageSize);
+ assertTrue((checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
+ }
+ }
+
+} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java
index c6d259726f..9a693b99ef 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Ericsson
+ * Copyright (c) 2009, 2010, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -8,6 +8,7 @@
*
* Contributors:
* Francois Chouinard - Initial API and implementation
+ * Francois Chouinard - Adjusted for new Trace Model
*******************************************************************************/
package org.eclipse.linuxtools.tmf.core.tests.experiment;
@@ -28,28 +29,28 @@ import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentContext;
import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
/**
- * <b><u>TmfExperimentTest</u></b>
- * <p>
- * TODO: Implement me. Please.
+ * Test suite for the TmfExperiment class (single trace).
*/
@SuppressWarnings("nls")
public class TmfExperimentTest extends TestCase {
+ // ------------------------------------------------------------------------
+ // Attributes
+ // ------------------------------------------------------------------------
+
private static final String DIRECTORY = "testfiles";
private static final String TEST_STREAM = "A-Test-10K";
private static final String EXPERIMENT = "MyExperiment";
private static int NB_EVENTS = 10000;
- private static int fDefaultBlockSize = 1000;
+ private static int BLOCK_SIZE = 1000;
private static ITmfTrace<?>[] fTraces;
private static TmfExperiment<TmfEvent> fExperiment;
@@ -109,9 +110,11 @@ public class TmfExperimentTest extends TestCase {
public void testBasicTmfExperimentConstructor() {
assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetEpoch", TmfTimestamp.ZERO, fExperiment.getEpoch());
assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
+ final long nbExperimentEvents = fExperiment.getNbEvents();
+ assertEquals("GetNbEvents", NB_EVENTS, nbExperimentEvents);
+
final long nbTraceEvents = fExperiment.getTraces()[0].getNbEvents();
assertEquals("GetNbEvents", NB_EVENTS, nbTraceEvents);
@@ -121,437 +124,284 @@ public class TmfExperimentTest extends TestCase {
}
// ------------------------------------------------------------------------
- // Verify checkpoints
+ // seekEvent on rank
// ------------------------------------------------------------------------
- public void testValidateCheckpoints() throws Exception {
-
- final Vector<TmfCheckpoint> checkpoints = fExperiment.getCheckpoints();
- final int pageSize = fExperiment.getCacheSize();
- assertTrue("Checkpoints exist", checkpoints != null);
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- final TmfCheckpoint checkpoint = checkpoints.get(i);
- final TmfExperimentContext context = fExperiment.seekEvent(checkpoint.getLocation());
- final ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event rank", i * pageSize, context.getRank());
- assertTrue("Timestamp", (checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- // ------------------------------------------------------------------------
- // seekLocation
- // ------------------------------------------------------------------------
+ public void testSeekRankOnCacheBoundary() throws Exception {
- public void testSeekLocationOnCacheBoundary() throws Exception {
+ long cacheSize = fExperiment.getCacheSize();
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
+ // On lower bound, returns the first event (TS = 1)
+ ITmfContext context = fExperiment.seekEvent(0);
+ assertEquals("Context rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
+ // Position trace at event rank [cacheSize]
+ context = fExperiment.seekEvent(cacheSize);
+ assertEquals("Context rank", cacheSize, context.getRank());
- // Position trace at event rank 1000
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ // Position trace at event rank [4 * cacheSize]
+ context = fExperiment.seekEvent(4 * cacheSize);
+ assertEquals("Context rank", 4 * cacheSize, context.getRank());
- // Position trace at event rank 4000
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4002, event.getTimestamp().getValue());
- assertEquals("Event rank", 4002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
}
- public void testSeekLocationNotOnCacheBoundary() throws Exception {
+ public void testSeekRankNotOnCacheBoundary() throws Exception {
- // Position trace at event rank 9
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- TmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 9, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ // Position trace at event rank 9
+ ITmfContext context = fExperiment.seekEvent(9);
+ assertEquals("Context rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 999, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ assertEquals("Context rank", 10, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ // Position trace at event rank [cacheSize - 1]
+ context = fExperiment.seekEvent(cacheSize - 1);
+ assertEquals("Context rank", cacheSize - 1, context.getRank());
- // Position trace at event rank 1001
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank [cacheSize + 1]
+ context = fExperiment.seekEvent(cacheSize + 1);
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 2, context.getRank());
// Position trace at event rank 4500
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
+ context = fExperiment.seekEvent(4500);
+ assertEquals("Context rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ assertEquals("Context rank", 4501, context.getRank());
}
- public void testSeekLocationOutOfScope() throws Exception {
+ public void testSeekRankOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext tmpContext = fExperiment.seekEvent(0);
- final TmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
+ ITmfContext context = fExperiment.seekEvent(-1);
assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
// Position trace at event passed the end
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event location", null, tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, tmpContext.getRank());
+ context = fExperiment.seekEvent(NB_EVENTS);
+ assertEquals("Context rank", NB_EVENTS, context.getRank());
+
+ event = fExperiment.getNext(context);
+ assertNull("Event", event);
+ assertEquals("Context rank", NB_EVENTS, context.getRank());
}
// ------------------------------------------------------------------------
// seekEvent on timestamp
// ------------------------------------------------------------------------
- public void testSeekEventOnTimestampOnCacheBoundary() throws Exception {
+ public void testSeekTimestampOnCacheBoundary() throws Exception {
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ // Position trace at event rank 0
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
+ assertEquals("Context rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank [cacheSize]
+ context = fExperiment.seekEvent(new TmfTimestamp(cacheSize + 1, SCALE, 0));
+ assertEquals("Event rank", cacheSize, context.getRank());
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- assertEquals("Event rank", 4000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
+ // Position trace at event rank [4 * cacheSize]
+ context = fExperiment.seekEvent(new TmfTimestamp(4 * cacheSize + 1, SCALE, 0));
+ assertEquals("Context rank", 4 * cacheSize, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
}
- public void testSeekEventOnTimestampNotOnCacheBoundary() throws Exception {
+ public void testSeekTimestampNotOnCacheBoundary() throws Exception {
- // Position trace at event rank 1
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Event rank", 1, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ // Position trace at event rank 1 (TS = 2)
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
+ assertEquals("Context rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
+ assertEquals("Context rank", 2, context.getRank());
- // Position trace at event rank 9
+ // Position trace at event rank 9 (TS = 10)
context = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Event rank", 9, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ assertEquals("Context rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
+ assertEquals("Context rank", 10, context.getRank());
- // Position trace at event rank 999
+ // Position trace at event rank 999 (TS = 1000)
context = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Event rank", 999, context.getRank());
+ assertEquals("Context rank", 999, context.getRank());
- event = fExperiment.parseEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ assertEquals("Context rank", 1000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
+ // Position trace at event rank 1001 (TS = 1002)
context = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ assertEquals("Context rank", 1001, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ assertEquals("Context rank", 1002, context.getRank());
- // Position trace at event rank 4500
+ // Position trace at event rank 4500 (TS = 4501)
context = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
+ assertEquals("Context rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ assertEquals("Context rank", 4501, context.getRank());
}
- public void testSeekEventOnTimestampoutOfScope() throws Exception {
+ public void testSeekTimestampOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
// Position trace at event passed the end
context = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event location", null, context.getLocation());
+ event = fExperiment.getNext(context);
+ assertNull("Event location", event);
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
// ------------------------------------------------------------------------
- // seekEvent on rank
+ // seekEvent by location (context rank is undefined)
// ------------------------------------------------------------------------
- public void testSeekOnRankOnCacheBoundary() throws Exception {
+ public void testSeekLocationOnCacheBoundary() throws Exception {
+
+ long cacheSize = fExperiment.getCacheSize();
- // On lower bound, returns the first event (ts = 1)
- TmfContext context = fExperiment.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
+ // Position trace at event rank 0
+ ITmfContext tmpContext = fExperiment.seekEvent(0);
+ ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- ITmfEvent event = fExperiment.parseEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(1000);
- assertEquals("Event rank", 1000, context.getRank());
+ // Position trace at event rank 'cacheSize'
+ tmpContext = fExperiment.seekEvent(cacheSize);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(4000);
- assertEquals("Event rank", 4000, context.getRank());
+ // Position trace at event rank 4 * 'cacheSize'
+ tmpContext = fExperiment.seekEvent(4 * cacheSize);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 2, event.getTimestamp().getValue());
}
- public void testSeekOnRankNotOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 9
- TmfContext context = fExperiment.seekEvent(9);
- assertEquals("Event rank", 9, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ public void testSeekLocationNotOnCacheBoundary() throws Exception {
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- // Position trace at event rank 999
- context = fExperiment.seekEvent(999);
- assertEquals("Event rank", 999, context.getRank());
+ // Position trace at event 'cacheSize' - 1
+ ITmfContext tmpContext = fExperiment.seekEvent(cacheSize - 1);
+ ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ ITmfEvent event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- // Position trace at event rank 1001
- context = fExperiment.seekEvent(1001);
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank 2 * 'cacheSize' - 1
+ tmpContext = fExperiment.seekEvent(2 * cacheSize - 1);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
+ context = fExperiment.seekEvent(2 * cacheSize - 1);
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2 * cacheSize, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2 * cacheSize + 1, event.getTimestamp().getValue());
// Position trace at event rank 4500
- context = fExperiment.seekEvent(4500);
- assertEquals("Event rank", 4500, context.getRank());
+ tmpContext = fExperiment.seekEvent(4500);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4502, event.getTimestamp().getValue());
}
- public void testSeekEventOnRankOutOfScope() throws Exception {
+ public void testSeekLocationOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext context = fExperiment.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ ITmfContext context = fExperiment.seekEvent((ITmfLocation<?>) null);
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(NB_EVENTS);
- assertEquals("Event location", null, context.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
// ------------------------------------------------------------------------
- // parseEvent - make sure parseEvent doesn't update the context
- // Note: This test is essentially the same as the one from TmfTraceTest
+ // readtNextEvent - updates the context
// ------------------------------------------------------------------------
- public void testParseEvent() throws Exception {
-
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
-
- // Read NB_EVENTS
- ITmfEvent event = null;;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", NB_READS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // getNextEvent - updates the context
- // ------------------------------------------------------------------------
-
- public void testGetNextEvent() throws Exception {
+ public void testReadNextEvent() throws Exception {
// On lower bound, returns the first event (ts = 0)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
- ITmfEvent event = fExperiment.readNextEvent(context);
+ final ITmfContext context = fExperiment.seekEvent(0);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
for (int i = 2; i < 20; i++) {
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", i, event.getTimestamp().getValue());
}
}
@@ -652,7 +502,7 @@ public class TmfExperimentTest extends TestCase {
public void testCancel() throws Exception {
final int nbEvents = NB_EVENTS;
- final int blockSize = fDefaultBlockSize;
+ final int blockSize = BLOCK_SIZE;
final Vector<TmfEvent> requestedEvents = new Vector<TmfEvent>();
final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
@@ -682,21 +532,6 @@ public class TmfExperimentTest extends TestCase {
}
// ------------------------------------------------------------------------
- // getRank
- // ------------------------------------------------------------------------
-
- // public void testGetRank() throws Exception {
- //
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp()));
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp( 1, (byte) -3)));
- // assertEquals("getRank", 10, fExperiment.getRank(new TmfTimestamp( 11, (byte) -3)));
- // assertEquals("getRank", 100, fExperiment.getRank(new TmfTimestamp( 101, (byte) -3)));
- // assertEquals("getRank", 1000, fExperiment.getRank(new TmfTimestamp(1001, (byte) -3)));
- // assertEquals("getRank", 2000, fExperiment.getRank(new TmfTimestamp(2001, (byte) -3)));
- // assertEquals("getRank", 2500, fExperiment.getRank(new TmfTimestamp(2501, (byte) -3)));
- // }
-
- // ------------------------------------------------------------------------
// getTimestamp
// ------------------------------------------------------------------------
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java
index bd27477611..0787c42222 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 Ericsson
+ * Copyright (c) 2009, 2010, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -8,6 +8,7 @@
*
* Contributors:
* Francois Chouinard - Initial API and implementation
+ * Francois Chouinard - Adjusted for new Trace Model
*******************************************************************************/
package org.eclipse.linuxtools.tmf.core.tests.experiment;
@@ -28,23 +29,23 @@ import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentContext;
import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
/**
- * <b><u>TmfExperimentTest</u></b>
- * <p>
- * TODO: Implement me. Please.
+ * Test suite for the TmfExperiment class (multiple traces).
*/
@SuppressWarnings("nls")
public class TmfMultiTraceExperimentTest extends TestCase {
+ // ------------------------------------------------------------------------
+ // Attributes
+ // ------------------------------------------------------------------------
+
private static final String DIRECTORY = "testfiles";
private static final String TEST_STREAM1 = "O-Test-10K";
private static final String TEST_STREAM2 = "E-Test-10K";
@@ -84,24 +85,18 @@ public class TmfMultiTraceExperimentTest extends TestCase {
return fTraces;
}
- @SuppressWarnings("unchecked")
- private synchronized static void setupExperiment() {
- synchronized (TmfMultiTraceExperimentTest.class) {
- if (fExperiment == null) {
- fExperiment = new TmfExperiment<TmfEvent>(TmfEvent.class, EXPERIMENT, (ITmfTrace<TmfEvent>[]) fTraces, TmfTimestamp.ZERO, BLOCK_SIZE, true);
- }
- }
- }
-
public TmfMultiTraceExperimentTest(final String name) throws Exception {
super(name);
}
+ @SuppressWarnings("unchecked")
@Override
protected void setUp() throws Exception {
super.setUp();
setupTrace(DIRECTORY + File.separator + TEST_STREAM1, DIRECTORY + File.separator + TEST_STREAM2);
- setupExperiment();
+ if (fExperiment == null) {
+ fExperiment = new TmfExperiment<TmfEvent>(TmfEvent.class, EXPERIMENT, (ITmfTrace<TmfEvent>[]) fTraces, TmfTimestamp.ZERO, BLOCK_SIZE, true);
+ }
}
@Override
@@ -116,7 +111,6 @@ public class TmfMultiTraceExperimentTest extends TestCase {
public void testBasicTmfExperimentConstructor() {
assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetEpoch", TmfTimestamp.ZERO, fExperiment.getEpoch());
assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
final TmfTimeRange timeRange = fExperiment.getTimeRange();
@@ -125,437 +119,284 @@ public class TmfMultiTraceExperimentTest extends TestCase {
}
// ------------------------------------------------------------------------
- // Verify checkpoints
- // ------------------------------------------------------------------------
-
- public void testValidateCheckpoints() throws Exception {
-
- final Vector<TmfCheckpoint> checkpoints = fExperiment.getCheckpoints();
- final int pageSize = fExperiment.getCacheSize();
- assertTrue("Checkpoints exist", checkpoints != null);
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- final TmfCheckpoint checkpoint = checkpoints.get(i);
- final TmfExperimentContext context = fExperiment.seekEvent(checkpoint.getLocation());
- final ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event rank", context.getRank(), i * pageSize);
- assertTrue("Timestamp", (checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- // ------------------------------------------------------------------------
- // seekLocation
+ // seekEvent on rank
// ------------------------------------------------------------------------
- public void testSeekLocationOnCacheBoundary() throws Exception {
+ public void testSeekRankOnCacheBoundary() throws Exception {
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ // On lower bound, returns the first event (TS = 1)
+ ITmfContext context = fExperiment.seekEvent(0);
+ assertEquals("Context rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
-
- // Position trace at event rank 1000
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ // Position trace at event rank [cacheSize]
+ context = fExperiment.seekEvent(cacheSize);
+ assertEquals("Context rank", cacheSize, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4000
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 4000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
+ // Position trace at event rank [4 * cacheSize]
+ context = fExperiment.seekEvent(4 * cacheSize);
+ assertEquals("Context rank", 4 * cacheSize, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
-
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4002, event.getTimestamp().getValue());
- assertEquals("Event rank", 4002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
}
- public void testSeekLocationNotOnCacheBoundary() throws Exception {
+ public void testSeekRankNotOnCacheBoundary() throws Exception {
- // Position trace at event rank 9
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- TmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 9, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ // Position trace at event rank 9
+ ITmfContext context = fExperiment.seekEvent(9);
+ assertEquals("Context rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 999, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ assertEquals("Context rank", 10, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ // Position trace at event rank [cacheSize - 1]
+ context = fExperiment.seekEvent(cacheSize - 1);
+ assertEquals("Context rank", cacheSize - 1, context.getRank());
- // Position trace at event rank 1001
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank [cacheSize + 1]
+ context = fExperiment.seekEvent(cacheSize + 1);
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 2, context.getRank());
// Position trace at event rank 4500
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
+ context = fExperiment.seekEvent(4500);
+ assertEquals("Context rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ assertEquals("Context rank", 4501, context.getRank());
}
- public void testSeekLocationOutOfScope() throws Exception {
+ public void testSeekRankOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext tmpContext = fExperiment.seekEvent(0);
- final TmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
+ ITmfContext context = fExperiment.seekEvent(-1);
assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
// Position trace at event passed the end
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event location", null, tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, tmpContext.getRank());
+ context = fExperiment.seekEvent(NB_EVENTS);
+ assertEquals("Context rank", NB_EVENTS, context.getRank());
+
+ event = fExperiment.getNext(context);
+ assertNull("Event", event);
+ assertEquals("Context rank", NB_EVENTS, context.getRank());
}
// ------------------------------------------------------------------------
// seekEvent on timestamp
// ------------------------------------------------------------------------
- public void testSeekEventOnTimestampOnCacheBoundary() throws Exception {
+ public void testSeekTimestampOnCacheBoundary() throws Exception {
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ // Position trace at event rank 0
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
+ assertEquals("Context rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- assertEquals("Event rank", 1000, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ assertEquals("Context rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank [cacheSize]
+ context = fExperiment.seekEvent(new TmfTimestamp(cacheSize + 1, SCALE, 0));
+ assertEquals("Event rank", cacheSize, context.getRank());
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- assertEquals("Event rank", 4000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", cacheSize + 1, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
+ // Position trace at event rank [4 * cacheSize]
+ context = fExperiment.seekEvent(new TmfTimestamp(4 * cacheSize + 1, SCALE, 0));
+ assertEquals("Context rank", 4 * cacheSize, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
+ assertEquals("Context rank", 4 * cacheSize + 1, context.getRank());
}
- public void testSeekEventOnTimestampNotOnCacheBoundary() throws Exception {
+ public void testSeekTimestampNotOnCacheBoundary() throws Exception {
- // Position trace at event rank 1
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Event rank", 1, context.getRank());
+ // Position trace at event rank 1 (TS = 2)
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
+ assertEquals("Context rank", 1, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ assertEquals("Context rank", 2, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
-
- // Position trace at event rank 9
+ // Position trace at event rank 9 (TS = 10)
context = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Event rank", 9, context.getRank());
+ assertEquals("Context rank", 9, context.getRank());
- event = fExperiment.parseEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ assertEquals("Context rank", 10, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
+ // Position trace at event rank 999 (TS = 1000)
context = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Event rank", 999, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ assertEquals("Context rank", 999, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ assertEquals("Context rank", 1000, context.getRank());
- // Position trace at event rank 1001
+ // Position trace at event rank 1001 (TS = 1002)
context = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Event rank", 1001, context.getRank());
+ assertEquals("Context rank", 1001, context.getRank());
- event = fExperiment.parseEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ assertEquals("Context rank", 1002, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
+ // Position trace at event rank 4500 (TS = 4501)
context = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Event rank", 4500, context.getRank());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
+ assertEquals("Context rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ assertEquals("Context rank", 4501, context.getRank());
}
- public void testSeekEventOnTimestampOutOfScope() throws Exception {
+ public void testSeekTimestampOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
+ ITmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
// Position trace at event passed the end
context = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event location", null, context.getLocation());
+ event = fExperiment.getNext(context);
+ assertNull("Event location", event);
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
// ------------------------------------------------------------------------
- // seekEvent on rank
+ // seekEvent by location (context rank is undefined)
// ------------------------------------------------------------------------
- public void testSeekOnRankOnCacheBoundary() throws Exception {
+ public void testSeekLocationOnCacheBoundary() throws Exception {
+
+ long cacheSize = fExperiment.getCacheSize();
- // On lower bound, returns the first event (ts = 1)
- TmfContext context = fExperiment.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
+ // Position trace at event rank 0
+ ITmfContext tmpContext = fExperiment.seekEvent(0);
+ ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- ITmfEvent event = fExperiment.parseEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(1000);
- assertEquals("Event rank", 1000, context.getRank());
+ // Position trace at event rank 'cacheSize'
+ tmpContext = fExperiment.seekEvent(cacheSize);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 2, event.getTimestamp().getValue());
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(4000);
- assertEquals("Event rank", 4000, context.getRank());
+ // Position trace at event rank 4 * 'cacheSize'
+ tmpContext = fExperiment.seekEvent(4 * cacheSize);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 1, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4 * cacheSize + 2, event.getTimestamp().getValue());
}
- public void testSeekOnRankNotOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 9
- TmfContext context = fExperiment.seekEvent(9);
- assertEquals("Event rank", 9, context.getRank());
+ public void testSeekLocationNotOnCacheBoundary() throws Exception {
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
+ long cacheSize = fExperiment.getCacheSize();
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
+ // Position trace at event 'cacheSize' - 1
+ ITmfContext tmpContext = fExperiment.seekEvent(cacheSize - 1);
+ ITmfContext context = fExperiment.seekEvent(tmpContext.getLocation());
- // Position trace at event rank 999
- context = fExperiment.seekEvent(999);
- assertEquals("Event rank", 999, context.getRank());
+ ITmfEvent event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize, event.getTimestamp().getValue());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", cacheSize + 1, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- context = fExperiment.seekEvent(1001);
- assertEquals("Event rank", 1001, context.getRank());
+ // Position trace at event rank 2 * 'cacheSize' - 1
+ tmpContext = fExperiment.seekEvent(2 * cacheSize - 1);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
+ context = fExperiment.seekEvent(2 * cacheSize - 1);
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2 * cacheSize, event.getTimestamp().getValue());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 2 * cacheSize + 1, event.getTimestamp().getValue());
// Position trace at event rank 4500
- context = fExperiment.seekEvent(4500);
- assertEquals("Event rank", 4500, context.getRank());
+ tmpContext = fExperiment.seekEvent(4500);
+ context = fExperiment.seekEvent(tmpContext.getLocation());
- event = fExperiment.parseEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
+ event = fExperiment.getNext(context);
+ assertEquals("Event timestamp", 4502, event.getTimestamp().getValue());
}
- public void testSeekEventOnRankOutOfScope() throws Exception {
+ public void testSeekLocationOutOfScope() throws Exception {
// Position trace at beginning
- TmfContext context = fExperiment.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
+ ITmfContext context = fExperiment.seekEvent((ITmfLocation<?>) null);
- event = fExperiment.readNextEvent(context);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(NB_EVENTS);
- assertEquals("Event location", null, context.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // parseEvent - make sure parseEvent doesn't update the context
- // Note: This test is essentially the same as the one from TmfTraceTest
- // ------------------------------------------------------------------------
-
- public void testParseEvent() throws Exception {
-
- final int NB_READS = 20;
-
- // On lower bound, returns the first event (ts = 1)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
-
- // Read NB_EVENTS
- ITmfEvent event = null;;
- for (int i = 0; i < NB_READS; i++) {
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", i + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", i + 1, context.getRank());
- }
-
- // Make sure we stay positioned
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", NB_READS + 1, event.getTimestamp().getValue());
- assertEquals("Event rank", NB_READS, context.getRank());
}
// ------------------------------------------------------------------------
- // getNextEvent - updates the context
+ // readtNextEvent - updates the context
// ------------------------------------------------------------------------
- public void testGetNextEvent() throws Exception {
+ public void testReadNextEvent() throws Exception {
// On lower bound, returns the first event (ts = 0)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
- ITmfEvent event = fExperiment.readNextEvent(context);
+ final ITmfContext context = fExperiment.seekEvent(0);
+ ITmfEvent event = fExperiment.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
for (int i = 2; i < 20; i++) {
- event = fExperiment.readNextEvent(context);
+ event = fExperiment.getNext(context);
assertEquals("Event timestamp", i, event.getTimestamp().getValue());
}
}
@@ -686,21 +527,6 @@ public class TmfMultiTraceExperimentTest extends TestCase {
}
// ------------------------------------------------------------------------
- // getRank
- // ------------------------------------------------------------------------
-
- // public void testGetRank() throws Exception {
- //
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp()));
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp( 1, (byte) -3)));
- // assertEquals("getRank", 10, fExperiment.getRank(new TmfTimestamp( 11, (byte) -3)));
- // assertEquals("getRank", 100, fExperiment.getRank(new TmfTimestamp( 101, (byte) -3)));
- // assertEquals("getRank", 1000, fExperiment.getRank(new TmfTimestamp(1001, (byte) -3)));
- // assertEquals("getRank", 2000, fExperiment.getRank(new TmfTimestamp(2001, (byte) -3)));
- // assertEquals("getRank", 2500, fExperiment.getRank(new TmfTimestamp(2501, (byte) -3)));
- // }
-
- // ------------------------------------------------------------------------
// getTimestamp
// ------------------------------------------------------------------------
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java
index e5d304222d..167d55a405 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java
@@ -19,8 +19,7 @@ import junit.framework.TestSuite;
import org.eclipse.linuxtools.internal.tmf.core.TmfCorePlugin;
/**
- * <b><u>AllTests</u></b>
- * <p>
+ * Test suite for org.eclipse.linuxtools.tmf.core.trace
*/
@SuppressWarnings("nls")
public class AllTests {
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointIndexTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointIndexTest.java
index f61a8a9590..3255dc29df 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointIndexTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointIndexTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010, 20112 Ericsson
+ * Copyright (c) 2009, 2010, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -17,7 +17,7 @@ import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
-import java.util.Vector;
+import java.util.List;
import junit.framework.TestCase;
@@ -33,9 +33,7 @@ import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
/**
- * <b><u>TmfTraceTest</u></b>
- * <p>
- * Test suite for the TmfTrace class.
+ * Test suite for the TmfCheckpointIndexTest class.
*/
@SuppressWarnings("nls")
public class TmfCheckpointIndexTest extends TestCase {
@@ -46,7 +44,7 @@ public class TmfCheckpointIndexTest extends TestCase {
private static final String DIRECTORY = "testfiles";
private static final String TEST_STREAM = "A-Test-10K";
- private static final int BLOCK_SIZE = 500;
+ private static final int BLOCK_SIZE = 100;
private static final int NB_EVENTS = 10000;
private static TestTrace fTrace = null;
@@ -78,20 +76,21 @@ public class TmfCheckpointIndexTest extends TestCase {
private class TestIndexer extends TmfCheckpointIndexer<ITmfTrace<ITmfEvent>> {
@SuppressWarnings({ "unchecked", "rawtypes" })
public TestIndexer(TestTrace testTrace) {
- super((ITmfTrace) testTrace);
+ super((ITmfTrace) testTrace, BLOCK_SIZE);
}
- public Vector<TmfCheckpoint> getCheckpoints() {
- return fTraceIndex;
+ public List<TmfCheckpoint> getCheckpoints() {
+ return getTraceIndex();
}
}
private class TestTrace extends TmfTraceStub {
public TestTrace(String path, int blockSize) throws TmfTraceException {
super(path, blockSize);
- fIndexer = new TestIndexer(this);
+ setIndexer(new TestIndexer(this));
}
+ @Override
public TestIndexer getIndexer() {
- return (TestIndexer) fIndexer;
+ return (TestIndexer) super.getIndexer();
}
}
@@ -129,9 +128,10 @@ public class TmfCheckpointIndexTest extends TestCase {
assertEquals("getStartTime", 1, fTrace.getStartTime().getValue());
assertEquals("getEndTime", NB_EVENTS, fTrace.getEndTime().getValue());
- Vector<TmfCheckpoint> checkpoints = fTrace.getIndexer().getCheckpoints();
+ List<TmfCheckpoint> checkpoints = fTrace.getIndexer().getCheckpoints();
int pageSize = fTrace.getCacheSize();
assertTrue("Checkpoints exist", checkpoints != null);
+ assertEquals("Checkpoints size", NB_EVENTS / BLOCK_SIZE, checkpoints.size());
// Validate that each checkpoint points to the right event
for (int i = 0; i < checkpoints.size(); i++) {
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointTest.java
index d9d32d3f10..55e373b86f 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfCheckpointTest.java
@@ -8,6 +8,7 @@
*
* Contributors:
* Francois Chouinard - Initial API and implementation
+ * Francois Chouinard - Adapted for TMF Trace Model 1.0
*******************************************************************************/
package org.eclipse.linuxtools.tmf.core.tests.trace;
@@ -20,8 +21,6 @@ import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint;
import org.eclipse.linuxtools.tmf.core.trace.TmfLocation;
/**
- * <b><u>TmfCheckpointTest</u></b>
- * <p>
* Test suite for the TmfCheckpoint class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java
index 9eb3db9115..6dd13f1192 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfContextTest.java
@@ -8,6 +8,7 @@
*
* Contributors:
* Francois Chouinard - Initial API and implementation
+ * Francois Chouinard - Adapted for TMF Trace Model 1.0
*******************************************************************************/
package org.eclipse.linuxtools.tmf.core.tests.trace;
@@ -21,8 +22,6 @@ import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.core.trace.TmfLocation;
/**
- * <b><u>TmfContextTest</u></b>
- * <p>
* Test suite for the TmfContext class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java
deleted file mode 100644
index 2deb9e54dd..0000000000
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java
+++ /dev/null
@@ -1,652 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.tests.trace;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment;
-import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentContext;
-import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint;
-import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
-
-/**
- * <b><u>TmfExperimentTest</u></b>
- * <p>
- * TODO: Implement me. Please.
- */
-@SuppressWarnings("nls")
-public class TmfExperimentTest extends TestCase {
-
- private static final String DIRECTORY = "testfiles";
- private static final String TEST_STREAM = "A-Test-10K";
- private static final String EXPERIMENT = "MyExperiment";
- private static int NB_EVENTS = 10000;
- private static int fDefaultBlockSize = 1000;
-
- private static ITmfTrace<?>[] fTraces;
- private static TmfExperiment<TmfEvent> fExperiment;
-
- private static byte SCALE = (byte) -3;
-
- // ------------------------------------------------------------------------
- // Housekeeping
- // ------------------------------------------------------------------------
-
- private synchronized ITmfTrace<?>[] setupTrace(final String path) {
- if (fTraces == null) {
- fTraces = new ITmfTrace[1];
- try {
- final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null);
- final File test = new File(FileLocator.toFileURL(location).toURI());
- final TmfTraceStub trace = new TmfTraceStub(test.getPath(), true);
- fTraces[0] = trace;
- } catch (final TmfTraceException e) {
- e.printStackTrace();
- } catch (final URISyntaxException e) {
- e.printStackTrace();
- } catch (final IOException e) {
- e.printStackTrace();
- }
- }
- return fTraces;
- }
-
- @SuppressWarnings("unchecked")
- private synchronized void setupExperiment() {
- if (fExperiment == null)
- fExperiment = new TmfExperiment<TmfEvent>(TmfEvent.class, EXPERIMENT, (ITmfTrace<TmfEvent>[]) fTraces);
- // fExperiment.indexExperiment();
- }
-
- public TmfExperimentTest(final String name) throws Exception {
- super(name);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- setupTrace(DIRECTORY + File.separator + TEST_STREAM);
- setupExperiment();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- // ------------------------------------------------------------------------
- // Constructor
- // ------------------------------------------------------------------------
-
- public void testBasicTmfExperimentConstructor() {
- assertEquals("GetId", EXPERIMENT, fExperiment.getName());
- assertEquals("GetEpoch", TmfTimestamp.ZERO, fExperiment.getEpoch());
- assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents());
-
- final TmfTimeRange timeRange = fExperiment.getTimeRange();
- assertEquals("getStartTime", 1, timeRange.getStartTime().getValue());
- assertEquals("getEndTime", NB_EVENTS, timeRange.getEndTime().getValue());
- }
-
- // ------------------------------------------------------------------------
- // Verify checkpoints
- // Note: seekLocation() does not reliably set the rank
- // ------------------------------------------------------------------------
-
- public void testValidateCheckpoints() throws Exception {
-
- final Vector<TmfCheckpoint> checkpoints = fExperiment.getCheckpoints();
- // int pageSize = fExperiment.getCacheSize();
- assertTrue("Checkpoints exist", checkpoints != null);
-
- // Validate that each checkpoint points to the right event
- for (int i = 0; i < checkpoints.size(); i++) {
- final TmfCheckpoint checkpoint = checkpoints.get(i);
- final TmfExperimentContext context = fExperiment.seekEvent(checkpoint.getLocation());
- final ITmfEvent event = fExperiment.parseEvent(context);
- // assertEquals("Event rank", context.getRank(), i * pageSize);
- assertTrue("Timestamp", (checkpoint.getTimestamp().compareTo(event.getTimestamp(), false) == 0));
- }
- }
-
- // ------------------------------------------------------------------------
- // parseEvent - make sure parseEvent doesn't update the context
- // ------------------------------------------------------------------------
-
- public void testParseEvent() throws Exception {
-
- // On lower bound, returns the first event (ts = 0)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
-
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- for (int i = 1; i < 20; i++) {
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", i, event.getTimestamp().getValue());
- }
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 20, event.getTimestamp().getValue());
-
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 20, event.getTimestamp().getValue());
- }
-
- // ------------------------------------------------------------------------
- // getNextEvent - updates the context
- // ------------------------------------------------------------------------
-
- public void testGetNextEvent() throws Exception {
-
- // On lower bound, returns the first event (ts = 0)
- final TmfContext context = fExperiment.seekEvent(new TmfTimestamp(0, SCALE, 0));
- ITmfEvent event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
-
- for (int i = 2; i < 20; i++) {
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", i, event.getTimestamp().getValue());
- }
- }
-
- // ------------------------------------------------------------------------
- // seekLocation
- // Note: seekLocation() does not reliably set the rank
- // ------------------------------------------------------------------------
-
- public void testSeekLocationOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(0);
- // assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- // assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1001, context.getRank());
-
- // Position trace at event rank 4000
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- // assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- // assertEquals("Event rank", 4001, context.getRank());
- }
-
- public void testSeekLocationNotOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 9
- TmfContext tmpContext = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- TmfContext context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 9, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- // assertEquals("Event rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- // assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- // assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- // assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- // assertEquals("Event rank", 4501, context.getRank());
- }
-
- public void testSeekLocationOutOfScope() throws Exception {
-
- // Position trace at beginning
- TmfContext tmpContext = fExperiment.seekEvent(0);
- TmfContext context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- // assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- // assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- tmpContext = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- context = fExperiment.seekEvent(tmpContext.getLocation().clone());
- // assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", null, event);
- // assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", null, event);
- // assertEquals("Event rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on timestamp
- // ------------------------------------------------------------------------
-
- public void testSeekEventOnTimestampOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 0
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(new TmfTimestamp(1001, SCALE, 0));
- assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(new TmfTimestamp(4001, SCALE, 0));
- assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
- }
-
- public void testSeekEventOnTimestampNotOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 1
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(2, SCALE, 0));
- assertEquals("Event rank", 1, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
- assertEquals("Event rank", 2, context.getRank());
-
- // Position trace at event rank 9
- context = fExperiment.seekEvent(new TmfTimestamp(10, SCALE, 0));
- assertEquals("Event rank", 9, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- context = fExperiment.seekEvent(new TmfTimestamp(1000, SCALE, 0));
- assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- context = fExperiment.seekEvent(new TmfTimestamp(1002, SCALE, 0));
- assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
- context = fExperiment.seekEvent(new TmfTimestamp(4501, SCALE, 0));
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
- }
-
- public void testSeekEventOnTimestampoutOfScope() throws Exception {
-
- // Position trace at beginning
- TmfContext context = fExperiment.seekEvent(new TmfTimestamp(-1, SCALE, 0));
- assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // seekEvent on rank
- // ------------------------------------------------------------------------
-
- public void testSeekOnRankOnCacheBoundary() throws Exception {
-
- // On lower bound, returns the first event (ts = 1)
- TmfContext context = fExperiment.seekEvent(0);
- assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event rank 1000
- context = fExperiment.seekEvent(1000);
- assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
-
- // Position trace at event rank 4000
- context = fExperiment.seekEvent(4000);
- assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4000, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
- assertEquals("Event rank", 4001, context.getRank());
- }
-
- public void testSeekOnRankNotOnCacheBoundary() throws Exception {
-
- // Position trace at event rank 9
- TmfContext context = fExperiment.seekEvent(9);
- assertEquals("Event rank", 9, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 9, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
- assertEquals("Event rank", 10, context.getRank());
-
- // Position trace at event rank 999
- context = fExperiment.seekEvent(999);
- assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 999, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
- assertEquals("Event rank", 1000, context.getRank());
-
- // Position trace at event rank 1001
- context = fExperiment.seekEvent(1001);
- assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1001, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
- assertEquals("Event rank", 1002, context.getRank());
-
- // Position trace at event rank 4500
- context = fExperiment.seekEvent(4500);
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4500, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
- assertEquals("Event rank", 4501, context.getRank());
- }
-
- public void testSeekEventOnRankOfScope() throws Exception {
-
- // Position trace at beginning
- TmfContext context = fExperiment.seekEvent(-1);
- assertEquals("Event rank", 0, context.getRank());
- ITmfEvent event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 0, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
- assertEquals("Event rank", 1, context.getRank());
-
- // Position trace at event passed the end
- context = fExperiment.seekEvent(NB_EVENTS);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.parseEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fExperiment.readNextEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
- }
-
- // ------------------------------------------------------------------------
- // processRequest
- // ------------------------------------------------------------------------
-
- public void testProcessRequestForNbEvents() throws Exception {
- final int blockSize = 100;
- final int nbEvents = 1000;
- final Vector<TmfEvent> requestedEvents = new Vector<TmfEvent>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, nbEvents, blockSize) {
- @Override
- public void handleData(final TmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++)
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
-
- public void testProcessRequestForNbEvents2() throws Exception {
- final int blockSize = 2 * NB_EVENTS;
- final int nbEvents = 1000;
- final Vector<TmfEvent> requestedEvents = new Vector<TmfEvent>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, nbEvents, blockSize) {
- @Override
- public void handleData(final TmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbEvents; i++)
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
-
- public void testProcessRequestForAllEvents() throws Exception {
- final int nbEvents = TmfEventRequest.ALL_DATA;
- final int blockSize = 1;
- final Vector<TmfEvent> requestedEvents = new Vector<TmfEvent>();
- final long nbExpectedEvents = fExperiment.getNbEvents();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, nbEvents, blockSize) {
- @Override
- public void handleData(final TmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", nbExpectedEvents, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertFalse("isCancelled", request.isCancelled());
-
- // Ensure that we have distinct events.
- // Don't go overboard: we are not validating the stub!
- for (int i = 0; i < nbExpectedEvents; i++)
- assertEquals("Distinct events", i+1, requestedEvents.get(i).getTimestamp().getValue());
- }
-
- // ------------------------------------------------------------------------
- // cancel
- // ------------------------------------------------------------------------
-
- public void testCancel() throws Exception {
- final int nbEvents = NB_EVENTS;
- final int blockSize = fDefaultBlockSize;
- final Vector<TmfEvent> requestedEvents = new Vector<TmfEvent>();
-
- final TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
- final TmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, nbEvents, blockSize) {
- int nbRead = 0;
- @Override
- public void handleData(final TmfEvent event) {
- super.handleData(event);
- requestedEvents.add(event);
- if (++nbRead == blockSize)
- cancel();
- }
- };
- fExperiment.sendRequest(request);
- request.waitForCompletion();
-
- assertEquals("nbEvents", blockSize, requestedEvents.size());
- assertTrue("isCompleted", request.isCompleted());
- assertTrue("isCancelled", request.isCancelled());
- }
-
- // ------------------------------------------------------------------------
- // getRank
- // ------------------------------------------------------------------------
-
- // public void testGetRank() throws Exception {
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp()));
- // assertEquals("getRank", 0, fExperiment.getRank(new TmfTimestamp( 1, (byte) -3)));
- // assertEquals("getRank", 10, fExperiment.getRank(new TmfTimestamp( 11, (byte) -3)));
- // assertEquals("getRank", 100, fExperiment.getRank(new TmfTimestamp( 101, (byte) -3)));
- // assertEquals("getRank", 1000, fExperiment.getRank(new TmfTimestamp(1001, (byte) -3)));
- // assertEquals("getRank", 2000, fExperiment.getRank(new TmfTimestamp(2001, (byte) -3)));
- // assertEquals("getRank", 2500, fExperiment.getRank(new TmfTimestamp(2501, (byte) -3)));
- // }
-
- // ------------------------------------------------------------------------
- // getTimestamp
- // ------------------------------------------------------------------------
-
- public void testGetTimestamp() throws Exception {
- assertTrue("getTimestamp", fExperiment.getTimestamp( 0).equals(new TmfTimestamp( 1, (byte) -3)));
- assertTrue("getTimestamp", fExperiment.getTimestamp( 10).equals(new TmfTimestamp( 11, (byte) -3)));
- assertTrue("getTimestamp", fExperiment.getTimestamp( 100).equals(new TmfTimestamp( 101, (byte) -3)));
- assertTrue("getTimestamp", fExperiment.getTimestamp(1000).equals(new TmfTimestamp(1001, (byte) -3)));
- assertTrue("getTimestamp", fExperiment.getTimestamp(2000).equals(new TmfTimestamp(2001, (byte) -3)));
- assertTrue("getTimestamp", fExperiment.getTimestamp(2500).equals(new TmfTimestamp(2501, (byte) -3)));
- }
-
-} \ No newline at end of file
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfLocationTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfLocationTest.java
index af7c07797e..a0cf96e777 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfLocationTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfLocationTest.java
@@ -19,8 +19,6 @@ import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
import org.eclipse.linuxtools.tmf.core.trace.TmfLocation;
/**
- * <b><u>TmfLocationTest</u></b>
- * <p>
* Test suite for the TmfLocation class.
*/
@SuppressWarnings("nls")
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
index a6d63b90b4..40986df9b3 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010, 20112 Ericsson
+ * Copyright (c) 2009, 2010, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -35,14 +35,12 @@ import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin;
import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpointIndexer;
import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
-import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
/**
- * <b><u>TmfTraceTest</u></b>
- * <p>
* Test suite for the TmfTrace class.
*/
@SuppressWarnings("nls")
@@ -125,7 +123,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("getType", TmfEvent.class, trace.getType());
assertNull ("getResource", trace.getResource());
assertEquals("getPath", testfile.toURI().getPath(), trace.getPath());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", TEST_STREAM, trace.getName());
@@ -154,7 +152,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("getType", TmfEvent.class, trace.getType());
assertNull ("getResource", trace.getResource());
assertEquals("getPath", testfile.toURI().getPath(), trace.getPath());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", TEST_STREAM, trace.getName());
@@ -327,7 +325,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("getType", TmfEvent.class, trace.getType());
assertNull ("getResource", trace.getResource());
assertEquals("getPath", path, trace.getPath());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", path, trace.getName());
@@ -356,7 +354,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("getType", TmfEvent.class, trace.getType());
assertNull ("getResource", trace.getResource());
assertEquals("getPath", path, trace.getPath());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", name, trace.getName());
@@ -375,7 +373,7 @@ public class TmfTraceTest extends TestCase {
assertFalse ("Open trace", trace == null);
assertNull ("getType", trace.getType());
assertNull ("getResource", trace.getResource());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", "", trace.getName());
@@ -392,6 +390,7 @@ public class TmfTraceTest extends TestCase {
// InitTrace and wait for indexing completion...
trace.initTrace(null, testfile.getPath(), TmfEvent.class);
+ trace.indexTrace();
int nbSecs = 0;
while (trace.getNbEvents() < NB_EVENTS && nbSecs < 10) {
Thread.sleep(1000);
@@ -404,7 +403,7 @@ public class TmfTraceTest extends TestCase {
assertFalse ("Open trace", trace == null);
assertEquals("getType", TmfEvent.class, trace.getType());
assertNull ("getResource", trace.getResource());
- assertEquals("getCacheSize", TmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
+ assertEquals("getCacheSize", ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, trace.getCacheSize());
assertEquals("getStreamingInterval", 0, trace.getStreamingInterval());
assertEquals("getName", TEST_STREAM, trace.getName());
@@ -517,7 +516,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
@@ -530,7 +529,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
@@ -543,7 +542,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
@@ -559,7 +558,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
@@ -572,7 +571,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
@@ -585,7 +584,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
@@ -598,7 +597,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
@@ -614,22 +613,17 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
// Position trace at event passed the end
- tmpContext = fTrace.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- context = fTrace.seekEvent(tmpContext.getLocation());
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
-
- event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", null, event);
+ context = fTrace.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
+ assertNull("Event timestamp", context.getLocation());
assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
- assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
+ event = fTrace.getNext(context);
+ assertNull("Event", event);
}
// ------------------------------------------------------------------------
@@ -657,7 +651,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 0, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
@@ -669,7 +663,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", 1000, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", 1001, context.getRank());
@@ -681,7 +675,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", 4000, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", 4001, context.getRank());
}
@@ -696,7 +690,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 2, event.getTimestamp().getValue());
assertEquals("Event rank", 2, context.getRank());
@@ -708,7 +702,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", 9, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", 10, context.getRank());
@@ -720,7 +714,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", 999, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", 1000, context.getRank());
@@ -732,7 +726,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", 1001, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", 1002, context.getRank());
@@ -744,7 +738,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", 4500, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", 4501, context.getRank());
}
@@ -759,21 +753,21 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 0, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
// Position trace at event passed the end
context = fTrace.seekEvent(new TmfTimestamp(NB_EVENTS + 1, SCALE, 0));
- assertEquals("Event rank", NB_EVENTS, context.getRank());
+ assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
event = fTrace.parseEvent(context);
assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
+ assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", null, event);
- assertEquals("Event rank", NB_EVENTS, context.getRank());
+ assertEquals("Event rank", ITmfContext.UNKNOWN_RANK, context.getRank());
}
// ------------------------------------------------------------------------
@@ -801,7 +795,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 0, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
@@ -813,7 +807,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", 1000, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1001, event.getTimestamp().getValue());
assertEquals("Event rank", 1001, context.getRank());
@@ -825,7 +819,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", 4000, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4001, event.getTimestamp().getValue());
assertEquals("Event rank", 4001, context.getRank());
}
@@ -840,7 +834,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", 9, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 10, event.getTimestamp().getValue());
assertEquals("Event rank", 10, context.getRank());
@@ -852,7 +846,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", 999, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1000, event.getTimestamp().getValue());
assertEquals("Event rank", 1000, context.getRank());
@@ -864,7 +858,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", 1001, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1002, event.getTimestamp().getValue());
assertEquals("Event rank", 1002, context.getRank());
@@ -876,12 +870,12 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", 4500, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 4501, event.getTimestamp().getValue());
assertEquals("Event rank", 4501, context.getRank());
}
- public void testSeekEventOnRankOfScope() throws Exception {
+ public void testSeekEventOnRankOutOfScope() throws Exception {
// Position trace at beginning
ITmfContext context = fTrace.seekEvent(-1);
@@ -891,7 +885,7 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 0, context.getRank());
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", 1, event.getTimestamp().getValue());
assertEquals("Event rank", 1, context.getRank());
@@ -900,11 +894,11 @@ public class TmfTraceTest extends TestCase {
assertEquals("Event rank", NB_EVENTS, context.getRank());
event = fTrace.parseEvent(context);
- assertEquals("Event timestamp", null, event);
+ assertNull("Event", event);
assertEquals("Event rank", NB_EVENTS, context.getRank());
- event = fTrace.readNextEvent(context);
- assertEquals("Event timestamp", null, event);
+ event = fTrace.getNext(context);
+ assertNull("Event", event);
assertEquals("Event rank", NB_EVENTS, context.getRank());
}
@@ -937,7 +931,7 @@ public class TmfTraceTest extends TestCase {
// Position the trace at event NB_READS
for (int i = 1; i < NB_READS; i++) {
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", i, event.getTimestamp().getValue());
}
@@ -967,7 +961,7 @@ public class TmfTraceTest extends TestCase {
// Read NB_EVENTS
ITmfEvent event;
for (int i = 0; i < NB_READS; i++) {
- event = fTrace.readNextEvent(context);
+ event = fTrace.getNext(context);
assertEquals("Event timestamp", i + 1, event.getTimestamp().getValue());
assertEquals("Event rank", i + 1, context.getRank());
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java
index 47f64a6f8e..44b51f8913 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfEventParserStub.java
@@ -82,35 +82,35 @@ public class TmfEventParserStub implements ITmfEventParser<TmfEvent> {
// no need to use synchronized since it's already cover by the calling method
long location = 0;
- if (context != null)
+ if (context != null && context.getLocation() != null) {
location = ((TmfLocation<Long>) (context.getLocation())).getLocation();
-
- try {
- stream.seek(location);
-
- final long ts = stream.readLong();
- final String source = stream.readUTF();
- final String type = stream.readUTF();
- final Integer reference = stream.readInt();
- final int typeIndex = Integer.parseInt(type.substring(typePrefix.length()));
- final String[] fields = new String[typeIndex];
- for (int i = 0; i < typeIndex; i++)
- fields[i] = stream.readUTF();
-
- final StringBuffer content = new StringBuffer("[");
- if (typeIndex > 0)
- content.append(fields[0]);
- for (int i = 1; i < typeIndex; i++)
- content.append(", ").append(fields[i]);
- content.append("]");
-
- final TmfEventField root = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, content.toString());
- final TmfEvent event = new TmfEvent(fEventStream,
- new TmfTimestamp(ts, -3, 0), // millisecs
- source, fTypes[typeIndex], root, reference.toString());
- return event;
- } catch (final EOFException e) {
- } catch (final IOException e) {
+ try {
+ stream.seek(location);
+
+ final long ts = stream.readLong();
+ final String source = stream.readUTF();
+ final String type = stream.readUTF();
+ final Integer reference = stream.readInt();
+ final int typeIndex = Integer.parseInt(type.substring(typePrefix.length()));
+ final String[] fields = new String[typeIndex];
+ for (int i = 0; i < typeIndex; i++)
+ fields[i] = stream.readUTF();
+
+ final StringBuffer content = new StringBuffer("[");
+ if (typeIndex > 0)
+ content.append(fields[0]);
+ for (int i = 1; i < typeIndex; i++)
+ content.append(", ").append(fields[i]);
+ content.append("]");
+
+ final TmfEventField root = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, content.toString());
+ final TmfEvent event = new TmfEvent(fEventStream,
+ new TmfTimestamp(ts, -3, 0), // millisecs
+ source, fTypes[typeIndex], root, reference.toString());
+ return event;
+ } catch (final EOFException e) {
+ } catch (final IOException e) {
+ }
}
return null;
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java
index b123368310..e005b39855 100644
--- a/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java
+++ b/lttng/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfTraceStub.java
@@ -26,6 +26,7 @@ import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
import org.eclipse.linuxtools.tmf.core.trace.ITmfContext;
import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation;
+import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceIndexer;
import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
import org.eclipse.linuxtools.tmf.core.trace.TmfLocation;
@@ -62,7 +63,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
*/
public TmfTraceStub() {
super();
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
}
/**
@@ -70,7 +71,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
* @throws FileNotFoundException
*/
public TmfTraceStub(final String path) throws TmfTraceException {
- this(path, DEFAULT_TRACE_CACHE_SIZE, false);
+ this(path, ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, false);
}
/**
@@ -94,7 +95,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
}
/**
@@ -112,7 +113,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
* @throws FileNotFoundException
*/
public TmfTraceStub(final String path, final boolean waitForCompletion) throws TmfTraceException {
- this(path, DEFAULT_TRACE_CACHE_SIZE, waitForCompletion);
+ this(path, ITmfTrace.DEFAULT_TRACE_CACHE_SIZE, waitForCompletion);
}
/**
@@ -128,7 +129,10 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
+ if (waitForCompletion) {
+ indexTrace();
+ }
}
/**
@@ -144,7 +148,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
}
/**
@@ -162,7 +166,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = (parser != null) ? parser : new TmfEventParserStub(this);
+ setParser((parser != null) ? parser : new TmfEventParserStub(this));
}
/**
@@ -175,11 +179,11 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
}
public void indexTrace() {
- fIndexer.buildIndex(true);
+ indexTrace(true);
}
@Override
@@ -189,7 +193,7 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
} catch (FileNotFoundException e) {
throw new TmfTraceException(e.getMessage());
}
- fParser = new TmfEventParserStub(this);
+ setParser(new TmfEventParserStub(this));
super.initTrace(resource, path, type);
}
@@ -299,13 +303,10 @@ public class TmfTraceStub extends TmfTrace<TmfEvent> implements ITmfEventParser<
fLock.lock();
try {
// parseNextEvent will update the context
- if (fTrace != null) {
- final TmfEvent event = fParser.parseEvent(context.clone());
+ if (fTrace != null && getParser() != null && context != null) {
+ final TmfEvent event = getParser().parseEvent(context.clone());
return event;
}
-// }
-// catch (final IOException e) {
-// e.printStackTrace();
} finally {
fLock.unlock();
}

Back to the top