import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
import org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.statesystem.ITmfStateProvider;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
-import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
private static final @NonNull String TEST_FILE_NAME = "test-partial";
- private File stateFile;
- private TestLttngKernelAnalysisModule module;
+ private static File stateFile;
+ private static TestLttngKernelAnalysisModule module;
+
+ /**
+ * Test class setup
+ */
+ @BeforeClass
+ public static void initialize() {
+ if (!testTrace.exists()) {
+ traceIsPresent = false;
+ return;
+ }
+ traceIsPresent = true;
- @Override
- protected ITmfStateSystem initialize() {
stateFile = new File(TmfTraceManager.getSupplementaryFileDir(testTrace.getTrace()) + TEST_FILE_NAME);
if (stateFile.exists()) {
stateFile.delete();
}
module.schedule();
assertTrue(module.waitForCompletion());
- return module.getStateSystem();
+
+ fixture = module.getStateSystem();
}
/**
* Class clean-up
*/
- @After
- public void cleanup() {
+ @AfterClass
+ public static void cleanup() {
if (module != null) {
module.dispose();
}
if (stateFile != null) {
stateFile.delete();
}
+ if (fixture != null) {
+ fixture.dispose();
+ }
+ module = null;
+ fixture = null;
}
/**
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
-import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
private static final @NonNull String TEST_FILE_NAME = "test.ht";
private static final @NonNull String BENCHMARK_FILE_NAME = "test.benchmark.ht";
- private File stateFile;
- private File stateFileBenchmark;
- private TestLttngKernelAnalysisModule module;
+ private static File stateFile;
+ private static File stateFileBenchmark;
+ private static TestLttngKernelAnalysisModule module;
+
+ /**
+ * Test class setup
+ */
+ @BeforeClass
+ public static void initialize() {
+ if (!testTrace.exists()) {
+ traceIsPresent = false;
+ return;
+ }
+ traceIsPresent = true;
- @Override
- protected ITmfStateSystem initialize() {
stateFile = createStateFile(TEST_FILE_NAME);
stateFileBenchmark = createStateFile(BENCHMARK_FILE_NAME);
}
module.schedule();
assertTrue(module.waitForCompletion());
- return module.getStateSystem();
+
+ fixture = module.getStateSystem();
}
/**
* Clean-up
*/
- @After
- public void cleanup() {
+ @AfterClass
+ public static void cleanup() {
if (module != null) {
module.dispose();
}
if (stateFileBenchmark != null) {
stateFileBenchmark.delete();
}
+ if (fixture != null) {
+ fixture.dispose();
+ }
+ module = null;
+ fixture = null;
}
// ------------------------------------------------------------------------
import static org.junit.Assert.fail;
import org.eclipse.tracecompass.internal.lttng2.kernel.core.stateprovider.LttngKernelStateProvider;
-import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.statesystem.ITmfStateProvider;
import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
-import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
/**
* State system tests using the in-memory back-end.
*/
public class StateSystemInMemoryTest extends StateSystemTest {
- private TestLttngKernelAnalysisModule module;
+ private static TestLttngKernelAnalysisModule module;
+
+ /**
+ * Test class setup
+ */
+ @BeforeClass
+ public static void initialize() {
+ if (!testTrace.exists()) {
+ traceIsPresent = false;
+ return;
+ }
+ traceIsPresent = true;
- @Override
- protected ITmfStateSystem initialize() {
module = new TestLttngKernelAnalysisModule();
try {
module.setTrace(testTrace.getTrace());
}
module.schedule();
assertTrue(module.waitForCompletion());
- return module.getStateSystem();
+
+ fixture = module.getStateSystem();
}
/**
* Class cleanup
*/
- @After
- public void cleanup() {
+ @AfterClass
+ public static void cleanup() {
if (module != null) {
module.dispose();
}
+ if (fixture != null) {
+ fixture.dispose();
+ }
+ module = null;
+ fixture = null;
}
private static class TestLttngKernelAnalysisModule extends TmfStateSystemAnalysisModule {
import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval;
import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue;
import org.eclipse.tracecompass.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
-import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
/** Number of nanoseconds in one second */
private static final long NANOSECS_PER_SEC = 1000000000L;
- private ITmfStateSystem fixture;
-
+ protected static ITmfStateSystem fixture;
+ protected static boolean traceIsPresent = false;
/**
- * Class set-up
+ * Test set-up
*/
@Before
public void setUp() {
- assumeTrue(testTrace.exists());
- fixture = this.initialize();
+ assumeTrue(traceIsPresent);
+ /* Subclasses should set-up 'fixture' */
assertNotNull(fixture);
}
- protected abstract ITmfStateSystem initialize();
-
- @After
- public void tearDown() {
- if (fixture != null) {
- fixture.dispose();
- }
- fixture = null;
- }
-
@Test
public void testFullQuery1() {
List<ITmfStateInterval> list;