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=d909d35426ebef86b8e10da1cb0b5cb09b696718;hpb=92ba8466689c1d6d2130924a9c261231d703b1b6;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 d909d35426..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,15 +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 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.linuxtools.internal.lttng2.kernel.core.stateprovider.CtfKernelStateInput; -import org.eclipse.linuxtools.tmf.core.statesystem.StateSystemManager; -import org.eclipse.linuxtools.tmf.core.tests.shared.CtfTmfTestTraces; +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; /** @@ -31,8 +39,45 @@ public class StateSystemInMemoryTest extends StateSystemTest { */ @BeforeClass public static void initialize() { - assumeTrue(CtfTmfTestTraces.tracesExist()); - input = new CtfKernelStateInput(CtfTmfTestTraces.getTestTrace(TRACE_INDEX)); - ssq = StateSystemManager.newInMemHistory(input, true); + assumeTrue(testTrace.exists()); + + TestLttngKernelAnalysisModule module = new TestLttngKernelAnalysisModule(); + try { + 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; + } } }