diff options
author | Alexandre Montplaisir | 2014-07-22 22:57:19 +0000 |
---|---|---|
committer | Alexandre Montplaisir | 2014-07-23 15:24:58 +0000 |
commit | c72849ce0bf0d599633931a87b8f5caa094ee54a (patch) | |
tree | b24583c473a80ebb905d9598a861ae4a2973ddcc | |
parent | b2e1efab8c2d9cd567be20dae1afd8c3419b0c65 (diff) | |
download | org.eclipse.linuxtools-c72849ce0bf0d599633931a87b8f5caa094ee54a.tar.gz org.eclipse.linuxtools-c72849ce0bf0d599633931a87b8f5caa094ee54a.tar.xz org.eclipse.linuxtools-c72849ce0bf0d599633931a87b8f5caa094ee54a.zip |
lttng: Correctly skip tests if test traces are missing
It used to be "unsafe" to do assumeTrue() in @BeforeClass methods,
but since Luna it seems to be the other way around: it skips
correctly when put in an @BeforeClass, but results in a failure
if it's within a @Before. Makes perfect sense!
Now add this to abstract and extending test classes, both with
different @BeforeClass, and you get a recipe for disaster.
Change-Id: I83670475241325f2e0277055fad83d8943927624
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/30298
6 files changed, 53 insertions, 30 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java index 073ba85080..e63a907da0 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/analysis/LttngKernelAnalysisTest.java @@ -35,6 +35,7 @@ import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace; import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace; import org.junit.After; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import com.google.common.collect.ImmutableSet; @@ -50,12 +51,19 @@ public class LttngKernelAnalysisTest { private LttngKernelAnalysisModule fKernelAnalysisModule; /** + * Class setup + */ + @BeforeClass + public static void setUpClass() { + assumeTrue(CtfTmfTestTrace.KERNEL.exists()); + } + + /** * Set-up the test */ @Before public void setUp() { fKernelAnalysisModule = new LttngKernelAnalysisModule(); - assumeTrue(CtfTmfTestTrace.KERNEL.exists()); fTrace = CtfTmfTestTrace.KERNEL.getTrace(); } diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java index 11af64a399..8ee0bf3714 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/event/matchandsync/ExperimentSyncTest.java @@ -29,6 +29,7 @@ import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace; import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace; import org.junit.After; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; /** @@ -46,13 +47,19 @@ public class ExperimentSyncTest { private static TmfExperiment fExperiment; /** - * Setup the traces and experiment + * Class setup */ - @Before - public void setUp() { + @BeforeClass + public static void setUpClass() { assumeTrue(CtfTmfTestTrace.SYNC_SRC.exists()); assumeTrue(CtfTmfTestTrace.SYNC_DEST.exists()); + } + /** + * Setup the traces and experiment + */ + @Before + public void setUp() { fTraces = new CtfTmfTrace[2]; fTraces[0] = CtfTmfTestTrace.SYNC_SRC.getTrace(); fTraces[1] = CtfTmfTestTrace.SYNC_DEST.getTrace(); diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java index 50fcf6ca91..448a2d2b23 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/PartialStateSystemTest.java @@ -30,8 +30,8 @@ import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager; import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; /** @@ -43,15 +43,15 @@ public class PartialStateSystemTest extends StateSystemTest { private static final @NonNull String TEST_FILE_NAME = "test-partial"; - private static File stateFile; - private static TestLttngKernelAnalysisModule module; + private File stateFile; + private TestLttngKernelAnalysisModule module; /** * Initialization */ - @BeforeClass - public static void initialize() { + @Before + public void initialize() { assumeTrue(testTrace.exists()); stateFile = new File(TmfTraceManager.getSupplementaryFileDir(testTrace.getTrace()) + TEST_FILE_NAME); if (stateFile.exists()) { @@ -74,8 +74,8 @@ public class PartialStateSystemTest extends StateSystemTest { /** * Class clean-up */ - @AfterClass - public static void tearDownClass() { + @After + public void tearDownClass() { module.close(); stateFile.delete(); } diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java index b9801240b4..88f5c3e9f5 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java @@ -17,7 +17,6 @@ import static org.junit.Assert.assertEquals; 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 java.io.File; @@ -32,8 +31,8 @@ import org.eclipse.linuxtools.tmf.core.statesystem.TmfStateSystemAnalysisModule; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager; import org.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; /** @@ -47,16 +46,15 @@ public class StateSystemFullHistoryTest extends StateSystemTest { private static final @NonNull String TEST_FILE_NAME = "test.ht"; private static final @NonNull String BENCHMARK_FILE_NAME = "test.benchmark.ht"; - private static File stateFile; - private static File stateFileBenchmark; - private static TestLttngKernelAnalysisModule module; + private File stateFile; + private File stateFileBenchmark; + private TestLttngKernelAnalysisModule module; /** * Initialize the test cases (build the history file once for all tests). */ - @BeforeClass - public static void initialize() { - assumeTrue(testTrace.exists()); + @Before + public void initialize() { stateFile = createStateFile(TEST_FILE_NAME); stateFileBenchmark = createStateFile(BENCHMARK_FILE_NAME); @@ -76,8 +74,8 @@ public class StateSystemFullHistoryTest extends StateSystemTest { /** * Clean-up */ - @AfterClass - public static void tearDownClass() { + @After + public void tearDownClass() { module.close(); stateFile.delete(); stateFileBenchmark.delete(); diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java index 8cb40fbaf7..393c112634 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemInMemoryTest.java @@ -24,8 +24,8 @@ 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.eclipse.linuxtools.tmf.ctf.core.CtfTmfTrace; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; /** * State system tests using the in-memory back-end. @@ -34,13 +34,13 @@ import org.junit.BeforeClass; */ public class StateSystemInMemoryTest extends StateSystemTest { - private static TestLttngKernelAnalysisModule module; + private TestLttngKernelAnalysisModule module; /** * Initialization */ - @BeforeClass - public static void initialize() { + @Before + public void initialize() { assumeTrue(testTrace.exists()); module = new TestLttngKernelAnalysisModule(); @@ -58,8 +58,8 @@ public class StateSystemInMemoryTest extends StateSystemTest { /** * Class cleanup */ - @AfterClass - public static void cleanupClass() { + @After + public void cleanupClass() { module.close(); } diff --git a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java index 21d9b41b2c..711a00c58b 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java +++ b/lttng/org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemTest.java @@ -15,6 +15,7 @@ package org.eclipse.linuxtools.lttng2.kernel.core.tests.stateprovider; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; import java.util.List; @@ -27,6 +28,7 @@ import org.eclipse.linuxtools.statesystem.core.exceptions.TimeRangeException; import org.eclipse.linuxtools.statesystem.core.interval.ITmfStateInterval; import org.eclipse.linuxtools.statesystem.core.statevalue.ITmfStateValue; import org.eclipse.linuxtools.tmf.ctf.core.tests.shared.CtfTmfTestTrace; +import org.junit.BeforeClass; import org.junit.Test; /** @@ -55,6 +57,14 @@ public abstract class StateSystemTest { /* Offset in the trace + start time of the trace */ static final long interestingTimestamp1 = 18670067372290L + 1331649577946812237L; + /** + * Class set-up + */ + @BeforeClass + public static void setUpClass() { + assumeTrue(testTrace.exists()); + } + @Test public void testFullQuery1() { List<ITmfStateInterval> list; |