X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=org.eclipse.linuxtools.lttng2.kernel.core.tests%2Fsrc%2Forg%2Feclipse%2Flinuxtools%2Flttng2%2Fkernel%2Fcore%2Ftests%2Fstateprovider%2FStateSystemInMemoryTest.java;h=6de147ced8348fa44e0d0da7741c468c7a769b86;hb=6a769f6a75dfc625d21d7b56f587fde8b49dfe9c;hp=94e09b3572fe2ec5e39e0c33e0f0e12dde7c9219;hpb=f9a76cacf7d7cb5e0f6edfcc6d786635864caae5;p=deliverable%2Ftracecompass.git diff --git a/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java b/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java index 94e09b3572..6de147ced8 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java +++ b/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java @@ -8,13 +8,23 @@ * * Contributors: * Alexandre Montplaisir - Initial API and implementation + * Bernd Hufmann - Use state system analysis module instead of factory ******************************************************************************/ package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider; -import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.CtfKernelStateInput; -import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.statesystem.StateSystemManager; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; + +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.linuxtools.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider; +import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace; +import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException; +import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateProvider; +import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule; +import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.junit.BeforeClass; /** @@ -29,11 +39,45 @@ public class StateSystemInMemoryTest extends StateSystemTest { */ @BeforeClass public static void initialize() { + assumeTrue(testTrace.exists()); + + TestLttngKernelAnalysisModule module = new TestLttngKernelAnalysisModule(); try { - input = new CtfKernelStateInput(CtfTestFiles.getTestTrace()); - ssq = StateSystemManager.newInMemHistory(input, true); - } catch (TmfTraceException e) { - e.printStackTrace(); + module.setTrace(testTrace.getTrace()); + } catch (TmfAnalysisException e) { + fail(); + } + module.schedule(); + assertTrue(module.waitForCompletion(new NullProgressMonitor())); + ssq = module.getStateSystem(); + assertNotNull(ssq); + } + + private static class TestLttngKernelAnalysisModule extends TmfStateSystemAnalysisModule { + + /** + * Constructor adding the views to the analysis + */ + public TestLttngKernelAnalysisModule() { + super(); + } + + @Override + public void setTrace(ITmfTrace trace) throws TmfAnalysisException { + if (!(trace instanceof CtfTmfTrace)) { + throw new IllegalStateException("TestLttngKernelAnalysisModule: trace should be of type CtfTmfTrace"); //$NON-NLS-1$ + } + super.setTrace(trace); + } + + @Override + protected ITmfStateProvider createStateProvider() { + return new LttngKernelStateProvider((CtfTmfTrace) getTrace()); + } + + @Override + protected StateSystemBackendType getBackendType() { + return StateSystemBackendType.FULL; } } }