From 4f5d9f9b9cff51c4ec51294ae961b20a1c870954 Mon Sep 17 00:00:00 2001 From: Bernd Hufmann Date: Tue, 8 Nov 2011 08:35:15 -0500 Subject: [PATCH] Improved one-time setup of test suites --- .../ui/tests/views/uml2sd/impl/AllTests.java | 5 +-- .../impl/TmfUml2SDSyncLoaderExpTest.java | 16 ++++++- .../impl/TmfUml2SDSyncLoaderFilterTest.java | 16 ++++++- .../impl/TmfUml2SDSyncLoaderFindTest.java | 16 ++++++- .../impl/TmfUml2SDSyncLoaderPagesTest.java | 16 ++++++- .../impl/TmfUml2SDSyncLoaderSignalTest.java | 16 ++++++- .../impl/TmfUml2SDSyncLoaderTimeTest.java | 16 ++++++- .../views/uml2sd/impl/Uml2SDTestFacility.java | 8 ++-- .../views/uml2sd/impl/Uml2SDTestSetup.java | 44 +++++++++++++++++++ 9 files changed, 132 insertions(+), 21 deletions(-) create mode 100644 org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestSetup.java diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/AllTests.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/AllTests.java index cc660f28ca..d7e37632f3 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/AllTests.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/AllTests.java @@ -17,9 +17,6 @@ import junit.framework.TestSuite; public class AllTests { public static Test suite() { - // Create instance of the test facility for the TmfUml2SD test - Uml2SDTestFacility.getInstance().init(true); - TestSuite suite = new TestSuite(AllTests.class.getName()); //$JUnit-BEGIN$ suite.addTestSuite(TmfUml2SDSyncLoaderExpTest.class); @@ -29,6 +26,6 @@ public class AllTests { suite.addTestSuite(TmfUml2SDSyncLoaderFindTest.class); suite.addTestSuite(TmfUml2SDSyncLoaderFilterTest.class); //$JUnit-END$ - return suite; + return new Uml2SDTestSetup(suite); } } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderExpTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderExpTest.java index 14fb9cf8d4..35ab759eda 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderExpTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderExpTest.java @@ -13,7 +13,9 @@ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; import java.util.List; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.linuxtools.tmf.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDAdvancedPagingProvider; @@ -29,6 +31,18 @@ public class TmfUml2SDSyncLoaderExpTest extends TestCase { // ------------------------------------------------------------------------ private Uml2SDTestFacility fFacility; + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderExpTest.class)); + } + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ @@ -43,7 +57,6 @@ public class TmfUml2SDSyncLoaderExpTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); // create filter criteria (incl. save) fFacility.createFilterCriteria(); fFacility.selectExperiment(); @@ -52,7 +65,6 @@ public class TmfUml2SDSyncLoaderExpTest extends TestCase { @Override public void tearDown() throws Exception { - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFilterTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFilterTest.java index f6be7a0145..f1a19d1a44 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFilterTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFilterTest.java @@ -14,7 +14,9 @@ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; import java.util.ArrayList; import java.util.List; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline; import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage; @@ -29,6 +31,18 @@ public class TmfUml2SDSyncLoaderFilterTest extends TestCase { // ------------------------------------------------------------------------ private Uml2SDTestFacility fFacility; + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderFilterTest.class)); + } + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ @@ -42,7 +56,6 @@ public class TmfUml2SDSyncLoaderFilterTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); fFacility.selectExperiment(); } @@ -50,7 +63,6 @@ public class TmfUml2SDSyncLoaderFilterTest extends TestCase { @Override public void tearDown() throws Exception { fFacility.disposeExperiment(); - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFindTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFindTest.java index 245596ca68..5b4b5db002 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFindTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderFindTest.java @@ -13,7 +13,9 @@ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; import java.util.List; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.linuxtools.tmf.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.event.TmfTimestamp; @@ -67,6 +69,18 @@ public class TmfUml2SDSyncLoaderFindTest extends TestCase { private Uml2SDTestFacility fFacility; private Uml2SDSignalValidator fTmfComponent; + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderFindTest.class)); + } + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ @@ -80,14 +94,12 @@ public class TmfUml2SDSyncLoaderFindTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); fFacility.selectExperiment(); } @Override public void tearDown() throws Exception { fFacility.disposeExperiment(); - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderPagesTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderPagesTest.java index 80b088ada7..8edd111043 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderPagesTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderPagesTest.java @@ -11,7 +11,9 @@ *******************************************************************************/ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; public class TmfUml2SDSyncLoaderPagesTest extends TestCase { @@ -20,6 +22,18 @@ public class TmfUml2SDSyncLoaderPagesTest extends TestCase { // ------------------------------------------------------------------------ private Uml2SDTestFacility fFacility; + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderPagesTest.class)); + } + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ @@ -33,7 +47,6 @@ public class TmfUml2SDSyncLoaderPagesTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); fFacility.selectExperiment(); } @@ -41,7 +54,6 @@ public class TmfUml2SDSyncLoaderPagesTest extends TestCase { @Override public void tearDown() throws Exception { fFacility.disposeExperiment(); - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderSignalTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderSignalTest.java index 185ba5f3ac..e84190ac0c 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderSignalTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderSignalTest.java @@ -11,7 +11,9 @@ *******************************************************************************/ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.linuxtools.tmf.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.event.TmfTimestamp; @@ -25,6 +27,18 @@ public class TmfUml2SDSyncLoaderSignalTest extends TestCase { // ------------------------------------------------------------------------ private Uml2SDTestFacility fFacility; private Uml2SDSignalValidator fTmfComponent; + + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderSignalTest.class)); + } // ------------------------------------------------------------------------ // Constructors @@ -39,14 +53,12 @@ public class TmfUml2SDSyncLoaderSignalTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); fFacility.selectExperiment(); } @Override public void tearDown() throws Exception { fFacility.disposeExperiment(); - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderTimeTest.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderTimeTest.java index 2b3f7cee1c..da0e9b0cd8 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderTimeTest.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/TmfUml2SDSyncLoaderTimeTest.java @@ -13,7 +13,9 @@ package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; import java.util.List; +import junit.framework.Test; import junit.framework.TestCase; +import junit.framework.TestSuite; import org.eclipse.linuxtools.tmf.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.event.TmfTimestamp; @@ -81,6 +83,18 @@ public class TmfUml2SDSyncLoaderTimeTest extends TestCase { private Uml2SDTestFacility fFacility; + // ------------------------------------------------------------------------ + // Static methods + // ------------------------------------------------------------------------ + + /** + * Returns test setup used when executing test case stand-alone. + * @return Test setup class + */ + public static Test suite() { + return new Uml2SDTestSetup(new TestSuite(TmfUml2SDSyncLoaderTimeTest.class)); + } + // ------------------------------------------------------------------------ // Constructors // ------------------------------------------------------------------------ @@ -94,7 +108,6 @@ public class TmfUml2SDSyncLoaderTimeTest extends TestCase { public void setUp() throws Exception { super.setUp(); fFacility = Uml2SDTestFacility.getInstance(); - fFacility.init(false); fFacility.selectExperiment(); } @@ -102,7 +115,6 @@ public class TmfUml2SDSyncLoaderTimeTest extends TestCase { @Override public void tearDown() throws Exception { fFacility.disposeExperiment(); - fFacility.dispose(); fFacility = null; super.tearDown(); } diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestFacility.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestFacility.java index aaefb2eda9..de169d3343 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestFacility.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestFacility.java @@ -58,7 +58,6 @@ public class Uml2SDTestFacility { private TmfExperiment fExperiment = null; private boolean fIsInitialized = false; - private boolean fIsGlobalTest = false; // ------------------------------------------------------------------------ // Constructors @@ -78,12 +77,10 @@ public class Uml2SDTestFacility { /** * Initial the test facility. - * @param isGlobal true if multiple test cases are run in sequence (AllTests) or false for a single test case */ - public void init(boolean isGlobal) { + public void init() { if (!fIsInitialized) { - fIsGlobalTest = isGlobal; fParser = new TmfUml2SDTestTrace(); fTrace = setupTrace(fParser); @@ -129,7 +126,7 @@ public class Uml2SDTestFacility { * Dispose the resource */ public void dispose() { - if (fIsInitialized && !fIsGlobalTest) { + if (fIsInitialized) { fExperiment.dispose(); // Wait for all Eclipse jobs to finish @@ -263,6 +260,7 @@ public class Uml2SDTestFacility { * Selects the experiment. * @param wait true to wait for indexing to finish else false */ + @SuppressWarnings({ "rawtypes", "unchecked" }) public void selectExperiment(boolean wait) { fTrace = setupTrace(fParser); diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestSetup.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestSetup.java new file mode 100644 index 0000000000..ecdf5fac55 --- /dev/null +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/impl/Uml2SDTestSetup.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2011 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: + * Bernd Hufmann - Initial API and implementation + *******************************************************************************/ +package org.eclipse.linuxtools.tmf.ui.tests.views.uml2sd.impl; + +import junit.extensions.TestSetup; +import junit.framework.Test; + +/** + * Test setup class for one-time setUp() and tearDown() across test cases. + */ +public class Uml2SDTestSetup extends TestSetup { + + public Uml2SDTestSetup(Test test) { + super(test); + } + + /* + * (non-Javadoc) + * @see junit.extensions.TestSetup#setUp() + */ + @Override + protected void setUp() throws Exception { + Uml2SDTestFacility.getInstance().init(); + } + + /* + * (non-Javadoc) + * @see junit.extensions.TestSetup#tearDown() + */ + @Override + protected void tearDown() throws Exception { + Uml2SDTestFacility.getInstance().dispose(); + } + +} -- 2.34.1