diff --git a/src/test/java/com/laytonsmith/PureUtilities/ReflectionUtilsTest.java b/src/test/java/com/laytonsmith/PureUtilities/ReflectionUtilsTest.java index 1f4fa62172..8c1c882d41 100644 --- a/src/test/java/com/laytonsmith/PureUtilities/ReflectionUtilsTest.java +++ b/src/test/java/com/laytonsmith/PureUtilities/ReflectionUtilsTest.java @@ -2,25 +2,19 @@ import com.laytonsmith.PureUtilities.ClassLoading.ClassDiscovery; import com.laytonsmith.PureUtilities.Common.ReflectionUtils; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import static org.junit.Assert.assertEquals; -import org.junit.Before; import org.junit.Test; /** * * */ -public class ReflectionUtilsTest { +public class ReflectionUtilsTest extends AbstractIntegrationTest { public ReflectionUtilsTest() { } - @Before - public void setUp() { - StaticTest.InstallFakeServerFrontend(); - } - class A { B bObj = new B(); diff --git a/src/test/java/com/laytonsmith/core/CodeTargetTest.java b/src/test/java/com/laytonsmith/core/CodeTargetTest.java index a1972f40b7..ee0fd5e444 100644 --- a/src/test/java/com/laytonsmith/core/CodeTargetTest.java +++ b/src/test/java/com/laytonsmith/core/CodeTargetTest.java @@ -5,7 +5,7 @@ import com.laytonsmith.core.constructs.Target; import com.laytonsmith.core.environments.Environment; import com.laytonsmith.core.functions.StringHandling; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import java.io.File; import java.util.List; import static org.junit.Assert.fail; @@ -14,12 +14,11 @@ /** * This class tests various scripts that have historically been shown to have incorrect code targets. */ -public class CodeTargetTest { +public class CodeTargetTest extends AbstractIntegrationTest { private static final File TEST_FILE = new File("test.ms"); private List compile(String script) throws Exception { - StaticTest.InstallFakeServerFrontend(); Environment env = Static.GenerateStandaloneEnvironment(); File file = TEST_FILE; TokenStream stream = MethodScriptCompiler.lex(script, env, file, true); diff --git a/src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java b/src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java index e268017a7e..0be64ce142 100644 --- a/src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java +++ b/src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java @@ -23,11 +23,11 @@ import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigCompileGroupException; import com.laytonsmith.core.exceptions.ConfigRuntimeException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; @@ -61,7 +61,7 @@ //@RunWith(PowerMockRunner.class) //@PrepareForTest(CommandHelperPlugin.class) //@PowerMockIgnore({"javax.xml.parsers.*", "com.sun.org.apache.xerces.internal.jaxp.*"}) -public class MethodScriptCompilerTest { +public class MethodScriptCompilerTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; @@ -72,11 +72,6 @@ public MethodScriptCompilerTest() { //StaticTest.InstallFakeServerFrontend(); } - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - @AfterClass public static void tearDownClass() throws Exception { new File("profiler.config").deleteOnExit(); diff --git a/src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java b/src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java index c6eccf8c25..a1fee41161 100644 --- a/src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java +++ b/src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java @@ -7,9 +7,9 @@ import com.laytonsmith.core.exceptions.AbstractCompileException; import com.laytonsmith.core.exceptions.CRE.CRECastException; import com.laytonsmith.core.functions.Exceptions; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; @@ -28,15 +28,10 @@ /** * */ -public class NewExceptionHandlingTest { +public class NewExceptionHandlingTest extends AbstractIntegrationTest { static Set> envs = Environment.getDefaultEnvClasses(); - @BeforeClass - public static void setUpClass() { - StaticTest.InstallFakeServerFrontend(); - } - public String optimize(String script) throws Exception { return OptimizationUtilities.optimize(script, null, envs, null, true, true); } diff --git a/src/test/java/com/laytonsmith/core/OptimizationTest.java b/src/test/java/com/laytonsmith/core/OptimizationTest.java index 4017d41cfa..3d5edf4654 100644 --- a/src/test/java/com/laytonsmith/core/OptimizationTest.java +++ b/src/test/java/com/laytonsmith/core/OptimizationTest.java @@ -8,7 +8,7 @@ import com.laytonsmith.core.environments.Environment; import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigCompileGroupException; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -17,7 +17,6 @@ import org.junit.Assert; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; -import org.junit.BeforeClass; import org.junit.Test; /** @@ -25,16 +24,11 @@ * * This is also used to test the lexer/compiler at a low level */ -public class OptimizationTest { +public class OptimizationTest extends AbstractIntegrationTest { static Set> envs = Environment.getDefaultEnvClasses(); static Environment env; - @BeforeClass - public static void setUpClass() { - StaticTest.InstallFakeServerFrontend(); - } - public static String optimize(String script, boolean pureMethodScript, Environment env) throws Exception { try { try { diff --git a/src/test/java/com/laytonsmith/core/StaticAnalysisTest.java b/src/test/java/com/laytonsmith/core/StaticAnalysisTest.java index 5eef9a61e2..5b5cc75dab 100644 --- a/src/test/java/com/laytonsmith/core/StaticAnalysisTest.java +++ b/src/test/java/com/laytonsmith/core/StaticAnalysisTest.java @@ -9,24 +9,20 @@ import com.laytonsmith.core.environments.RuntimeMode; import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigCompileGroupException; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; + import java.io.File; import java.util.Arrays; import java.util.EnumSet; import java.util.HashSet; import static org.junit.Assert.*; -import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; /** * */ -public class StaticAnalysisTest { - @BeforeClass - public static void beforeClass() { - StaticTest.InstallFakeServerFrontend(); - } +public class StaticAnalysisTest extends AbstractIntegrationTest { public void runScript(String script) throws Exception { runScript(script, null); diff --git a/src/test/java/com/laytonsmith/core/TestStatic.java b/src/test/java/com/laytonsmith/core/TestStatic.java index 120bcb001d..15d99ae207 100644 --- a/src/test/java/com/laytonsmith/core/TestStatic.java +++ b/src/test/java/com/laytonsmith/core/TestStatic.java @@ -8,6 +8,7 @@ import com.laytonsmith.core.constructs.CString; import com.laytonsmith.core.constructs.Target; import com.laytonsmith.core.exceptions.ConfigRuntimeException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import org.junit.AfterClass; import static org.junit.Assert.assertEquals; @@ -23,7 +24,7 @@ * * */ -public class TestStatic { +public class TestStatic extends AbstractIntegrationTest { Target t = Target.UNKNOWN; diff --git a/src/test/java/com/laytonsmith/core/VarargTest.java b/src/test/java/com/laytonsmith/core/VarargTest.java index 0db8e3001c..1a6a89bbaa 100644 --- a/src/test/java/com/laytonsmith/core/VarargTest.java +++ b/src/test/java/com/laytonsmith/core/VarargTest.java @@ -3,6 +3,7 @@ import com.laytonsmith.abstraction.MCPlayer; import com.laytonsmith.core.environments.Environment; import com.laytonsmith.core.exceptions.CRE.CRECastException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.core.exceptions.ConfigCompileException; import static com.laytonsmith.testing.StaticTest.*; import org.junit.Before; @@ -12,14 +13,13 @@ /** * */ -public class VarargTest { +public class VarargTest extends AbstractIntegrationTest { Environment env; MCPlayer fakePlayer; @Before public void setup() throws Exception { - InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); fakePlayer = GetOnlinePlayer(); } diff --git a/src/test/java/com/laytonsmith/core/asm/IRMetadataTest.java b/src/test/java/com/laytonsmith/core/asm/IRMetadataTest.java index ad617ae581..d8e9b94789 100644 --- a/src/test/java/com/laytonsmith/core/asm/IRMetadataTest.java +++ b/src/test/java/com/laytonsmith/core/asm/IRMetadataTest.java @@ -4,7 +4,7 @@ import com.laytonsmith.core.Static; import com.laytonsmith.core.asm.metadata.IRMetadata.PrototypeBuilder; import com.laytonsmith.core.environments.CommandHelperEnvironment; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -14,12 +14,11 @@ * * @author Cailin */ -public class IRMetadataTest { +public class IRMetadataTest extends AbstractIntegrationTest { com.laytonsmith.core.environments.Environment env; public IRMetadataTest() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); env = env.cloneAndAdd(new CommandHelperEnvironment(), new LLVMEnvironment()); } diff --git a/src/test/java/com/laytonsmith/core/compiler/signatures/FunctionSignaturesTest.java b/src/test/java/com/laytonsmith/core/compiler/signatures/FunctionSignaturesTest.java index ec9e83350a..1a9e756a5a 100644 --- a/src/test/java/com/laytonsmith/core/compiler/signatures/FunctionSignaturesTest.java +++ b/src/test/java/com/laytonsmith/core/compiler/signatures/FunctionSignaturesTest.java @@ -9,7 +9,6 @@ import java.util.Set; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import com.laytonsmith.core.Static; @@ -27,17 +26,12 @@ import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.CRE.CRECastException; import com.laytonsmith.core.exceptions.CRE.CREIndexOverflowException; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; -public class FunctionSignaturesTest { +public class FunctionSignaturesTest extends AbstractIntegrationTest { private Environment env; - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - @Before public void setUp() throws Exception { this.env = Static.GenerateStandaloneEnvironment(false); diff --git a/src/test/java/com/laytonsmith/core/constructs/ClassInfoTest.java b/src/test/java/com/laytonsmith/core/constructs/ClassInfoTest.java index 3652c992c2..d56405ee03 100644 --- a/src/test/java/com/laytonsmith/core/constructs/ClassInfoTest.java +++ b/src/test/java/com/laytonsmith/core/constructs/ClassInfoTest.java @@ -5,27 +5,20 @@ import com.laytonsmith.core.natives.interfaces.Mixed; import com.laytonsmith.core.objects.ObjectModifier; import com.laytonsmith.core.objects.ObjectType; -import com.laytonsmith.testing.StaticTest; - +import com.laytonsmith.testing.AbstractIntegrationTest; import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; import java.util.Set; -import org.junit.Before; import org.junit.Test; /** * * @author cailin */ -public class ClassInfoTest { - - @Before - public void before() { - StaticTest.InstallFakeServerFrontend(); - } +public class ClassInfoTest extends AbstractIntegrationTest { @Test public void testAllInterfacesReturnNothingForGetInterfaces() throws Exception { diff --git a/src/test/java/com/laytonsmith/core/constructs/EnumTest.java b/src/test/java/com/laytonsmith/core/constructs/EnumTest.java index 77510e6789..ba5d7b1aa0 100644 --- a/src/test/java/com/laytonsmith/core/constructs/EnumTest.java +++ b/src/test/java/com/laytonsmith/core/constructs/EnumTest.java @@ -8,41 +8,21 @@ import com.laytonsmith.core.FullyQualifiedClassName; import com.laytonsmith.core.natives.interfaces.MEnumType; import com.laytonsmith.core.natives.interfaces.MEnumTypeValue; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; +import com.laytonsmith.testing.AbstractIntegrationTest; + import org.junit.Test; -import static com.laytonsmith.testing.StaticTest.InstallFakeServerFrontend; import static org.junit.Assert.*; /** * * @author Cailin */ -public class EnumTest { +public class EnumTest extends AbstractIntegrationTest { public EnumTest() { } - @BeforeClass - public static void setUpClass() { - InstallFakeServerFrontend(); - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - @Test(expected = ClassNotFoundException.class) public void testEnumIsNotFound() throws Exception { NativeTypeList.getNativeEnum(FullyQualifiedClassName diff --git a/src/test/java/com/laytonsmith/core/constructs/InstanceofUtilTest.java b/src/test/java/com/laytonsmith/core/constructs/InstanceofUtilTest.java index abb9193b1d..932021ccbe 100644 --- a/src/test/java/com/laytonsmith/core/constructs/InstanceofUtilTest.java +++ b/src/test/java/com/laytonsmith/core/constructs/InstanceofUtilTest.java @@ -4,23 +4,17 @@ import com.laytonsmith.core.environments.Environment; import com.laytonsmith.core.natives.interfaces.Booleanish; import com.laytonsmith.core.natives.interfaces.Mixed; +import com.laytonsmith.testing.AbstractIntegrationTest; -import static com.laytonsmith.testing.StaticTest.InstallFakeServerFrontend; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; -import org.junit.BeforeClass; import org.junit.Test; /** * */ -public class InstanceofUtilTest { - - @BeforeClass - public static void setUpClass() { - InstallFakeServerFrontend(); - } +public class InstanceofUtilTest extends AbstractIntegrationTest { @Test public void testInstanceofUtil() throws Exception { diff --git a/src/test/java/com/laytonsmith/core/constructs/TestCClassType.java b/src/test/java/com/laytonsmith/core/constructs/TestCClassType.java index bccd33f7ad..68fba39ee6 100644 --- a/src/test/java/com/laytonsmith/core/constructs/TestCClassType.java +++ b/src/test/java/com/laytonsmith/core/constructs/TestCClassType.java @@ -6,6 +6,7 @@ import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.environments.Environment; import com.laytonsmith.core.natives.interfaces.Mixed; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.Before; import org.junit.Test; @@ -25,13 +26,12 @@ * * @author cailin */ -public class TestCClassType { +public class TestCClassType extends AbstractIntegrationTest { static Environment env; @Before public void load() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(false); env = env.cloneAndAdd(new CommandHelperEnvironment()); } diff --git a/src/test/java/com/laytonsmith/core/events/GeneralTest.java b/src/test/java/com/laytonsmith/core/events/GeneralTest.java index e6988388d4..f9ad2ecf8b 100644 --- a/src/test/java/com/laytonsmith/core/events/GeneralTest.java +++ b/src/test/java/com/laytonsmith/core/events/GeneralTest.java @@ -2,10 +2,10 @@ import com.laytonsmith.abstraction.MCPlayer; import com.laytonsmith.core.Static; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.After; import org.junit.Before; -import org.junit.BeforeClass; //import static org.powermock.api.mockito.PowerMockito.when; //import org.powermock.core.classloader.annotations.PrepareForTest; //import org.powermock.modules.junit4.PowerMockRunner; @@ -16,18 +16,13 @@ */ //@RunWith(PowerMockRunner.class) //@PrepareForTest(Static.class) -public class GeneralTest { +public class GeneralTest extends AbstractIntegrationTest { MCPlayer fakePlayer; public GeneralTest() { } - @BeforeClass - public static void setUpClass() { - - } - @Before public void setUp() throws Exception { fakePlayer = StaticTest.GetOnlinePlayer(); diff --git a/src/test/java/com/laytonsmith/core/events/PrefiltersTest.java b/src/test/java/com/laytonsmith/core/events/PrefiltersTest.java index 2d3cf7c04b..0e79c13ac9 100644 --- a/src/test/java/com/laytonsmith/core/events/PrefiltersTest.java +++ b/src/test/java/com/laytonsmith/core/events/PrefiltersTest.java @@ -4,6 +4,7 @@ import com.laytonsmith.core.exceptions.ConfigRuntimeException; import com.laytonsmith.core.exceptions.PrefilterNonMatchException; import com.laytonsmith.core.natives.interfaces.Mixed; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import org.junit.After; import org.junit.AfterClass; @@ -20,7 +21,7 @@ * * */ -public class PrefiltersTest { +public class PrefiltersTest extends AbstractIntegrationTest { public PrefiltersTest() { } diff --git a/src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java b/src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java index ce8aaa43d3..c6da9f69d9 100644 --- a/src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java +++ b/src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java @@ -12,6 +12,7 @@ import com.laytonsmith.core.exceptions.CancelCommandException; import com.laytonsmith.core.exceptions.ConfigRuntimeException; import com.laytonsmith.core.natives.interfaces.Mixed; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.Run; @@ -33,14 +34,13 @@ * * */ -public class ArrayHandlingTest { +public class ArrayHandlingTest extends AbstractIntegrationTest { MCPlayer fakePlayer; CArray commonArray; com.laytonsmith.core.environments.Environment env; public ArrayHandlingTest() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); env = env.cloneAndAdd(new CommandHelperEnvironment()); } diff --git a/src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java b/src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java index 5b344b2802..5fc508e83c 100644 --- a/src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java +++ b/src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java @@ -10,8 +10,8 @@ import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.exceptions.CancelCommandException; import com.laytonsmith.core.exceptions.ConfigCompileException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; -import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.GetFakeServer; import static com.laytonsmith.testing.StaticTest.GetOnlinePlayer; import static com.laytonsmith.testing.StaticTest.SRun; @@ -32,7 +32,7 @@ * * */ -public class BasicLogicTest { +public class BasicLogicTest extends AbstractIntegrationTest { MCPlayer fakePlayer; MCServer fakeServer; @@ -53,7 +53,6 @@ public BasicLogicTest() throws Exception { @BeforeClass public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); } @AfterClass diff --git a/src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java b/src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java index 16e0118bcf..609059bd77 100644 --- a/src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java +++ b/src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java @@ -9,9 +9,7 @@ import static org.mockito.Mockito.verify; import org.junit.After; -import org.junit.AfterClass; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import com.laytonsmith.abstraction.MCPlayer; @@ -19,9 +17,9 @@ import com.laytonsmith.core.Static; import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.exceptions.ConfigRuntimeException; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; -public class ControlFlowTest { +public class ControlFlowTest extends AbstractIntegrationTest { MCPlayer fakePlayer; MCServer fakeServer; @@ -32,15 +30,6 @@ public ControlFlowTest() throws Exception { env = env.cloneAndAdd(new CommandHelperEnvironment()); } - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - - @AfterClass - public static void tearDownClass() throws Exception { - } - @Before public void setUp() { fakeServer = GetFakeServer(); diff --git a/src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java b/src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java index 0fcf885d69..acfb5044ab 100644 --- a/src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java +++ b/src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java @@ -8,6 +8,7 @@ import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.exceptions.CRE.CRECastException; import com.laytonsmith.core.exceptions.ConfigCompileException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.RunCommand; import static com.laytonsmith.testing.StaticTest.SRun; @@ -29,7 +30,7 @@ * * */ -public class DataHandlingTest { +public class DataHandlingTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; @@ -37,7 +38,6 @@ public class DataHandlingTest { static Set> envs = com.laytonsmith.core.environments.Environment.getDefaultEnvClasses(); public DataHandlingTest() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); env = env.cloneAndAdd(new CommandHelperEnvironment()); } diff --git a/src/test/java/com/laytonsmith/core/functions/DataTransformationsTest.java b/src/test/java/com/laytonsmith/core/functions/DataTransformationsTest.java index 4f7745a3b1..f290de80ae 100644 --- a/src/test/java/com/laytonsmith/core/functions/DataTransformationsTest.java +++ b/src/test/java/com/laytonsmith/core/functions/DataTransformationsTest.java @@ -7,6 +7,8 @@ import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.exceptions.ConfigRuntimeException; import static com.laytonsmith.testing.CustomMatchers.regexMatch; + +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.SRun; import static org.hamcrest.CoreMatchers.is; @@ -20,14 +22,13 @@ /** * */ -public class DataTransformationsTest { +public class DataTransformationsTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; com.laytonsmith.core.environments.Environment env; public DataTransformationsTest() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); env = env.cloneAndAdd(new CommandHelperEnvironment()); } diff --git a/src/test/java/com/laytonsmith/core/functions/EchoesTest.java b/src/test/java/com/laytonsmith/core/functions/EchoesTest.java index c8165e131e..5bcf2f94d6 100644 --- a/src/test/java/com/laytonsmith/core/functions/EchoesTest.java +++ b/src/test/java/com/laytonsmith/core/functions/EchoesTest.java @@ -10,6 +10,7 @@ import com.laytonsmith.core.exceptions.CancelCommandException; import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.functions.Echoes.color; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import static com.laytonsmith.testing.StaticTest.GetFakeServer; import static com.laytonsmith.testing.StaticTest.GetOnlinePlayer; @@ -29,7 +30,7 @@ * * */ -public class EchoesTest { +public class EchoesTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; diff --git a/src/test/java/com/laytonsmith/core/functions/MathTest.java b/src/test/java/com/laytonsmith/core/functions/MathTest.java index c9bb5e5736..a65e637e11 100644 --- a/src/test/java/com/laytonsmith/core/functions/MathTest.java +++ b/src/test/java/com/laytonsmith/core/functions/MathTest.java @@ -13,6 +13,7 @@ import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigCompileGroupException; import com.laytonsmith.core.exceptions.ConfigRuntimeException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import com.laytonsmith.testing.StaticTest; import org.junit.After; @@ -33,7 +34,7 @@ * * */ -public class MathTest { +public class MathTest extends AbstractIntegrationTest { Target t = Target.UNKNOWN; MCServer fakeServer; @@ -54,7 +55,6 @@ public static void tearDownClass() throws Exception { @Before public void setUp() throws Exception { - StaticTest.InstallFakeServerFrontend(); fakePlayer = GetOnlinePlayer(); fakeServer = GetFakeServer(); diff --git a/src/test/java/com/laytonsmith/core/functions/MetaTest.java b/src/test/java/com/laytonsmith/core/functions/MetaTest.java index 6714cbfeab..0a5dcec0ff 100644 --- a/src/test/java/com/laytonsmith/core/functions/MetaTest.java +++ b/src/test/java/com/laytonsmith/core/functions/MetaTest.java @@ -6,6 +6,8 @@ import com.laytonsmith.core.MethodScriptCompiler; import com.laytonsmith.core.Static; import com.laytonsmith.core.environments.CommandHelperEnvironment; +import com.laytonsmith.testing.AbstractIntegrationTest; + import static com.laytonsmith.testing.StaticTest.GetFakeServer; import static com.laytonsmith.testing.StaticTest.GetOnlinePlayer; import static com.laytonsmith.testing.StaticTest.SRun; @@ -23,7 +25,7 @@ * * */ -public class MetaTest { +public class MetaTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; diff --git a/src/test/java/com/laytonsmith/core/functions/MinecraftTest.java b/src/test/java/com/laytonsmith/core/functions/MinecraftTest.java index f834cb0c13..02c80fa65e 100644 --- a/src/test/java/com/laytonsmith/core/functions/MinecraftTest.java +++ b/src/test/java/com/laytonsmith/core/functions/MinecraftTest.java @@ -8,6 +8,7 @@ import com.laytonsmith.core.Static; import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.exceptions.ConfigCompileException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.After; import org.junit.AfterClass; @@ -19,7 +20,7 @@ * * */ -public class MinecraftTest { +public class MinecraftTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; diff --git a/src/test/java/com/laytonsmith/core/functions/ObjectManagementTest.java b/src/test/java/com/laytonsmith/core/functions/ObjectManagementTest.java index 39305a8b6a..e44e802a79 100644 --- a/src/test/java/com/laytonsmith/core/functions/ObjectManagementTest.java +++ b/src/test/java/com/laytonsmith/core/functions/ObjectManagementTest.java @@ -14,7 +14,7 @@ import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.objects.ObjectDefinition; import com.laytonsmith.core.objects.ObjectType; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import java.io.File; import java.util.ArrayList; import java.util.Set; @@ -24,7 +24,7 @@ /** * */ -public class ObjectManagementTest { +public class ObjectManagementTest extends AbstractIntegrationTest { static Set> envs = Environment.getDefaultEnvClasses(); @@ -40,7 +40,6 @@ public static void Run(String code, Environment env) throws Exception { } public ObjectManagementTest() { - StaticTest.InstallFakeServerFrontend(); } @Test diff --git a/src/test/java/com/laytonsmith/core/functions/PlayerManangementTest.java b/src/test/java/com/laytonsmith/core/functions/PlayerManangementTest.java index 8e06490418..2fe654b0f2 100644 --- a/src/test/java/com/laytonsmith/core/functions/PlayerManangementTest.java +++ b/src/test/java/com/laytonsmith/core/functions/PlayerManangementTest.java @@ -10,6 +10,7 @@ import com.laytonsmith.abstraction.blocks.MCBlock; import com.laytonsmith.abstraction.bukkit.BukkitMCWorld; import com.laytonsmith.commandhelper.CommandHelperPlugin; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.GetFakeConsoleCommandSender; import static com.laytonsmith.testing.StaticTest.GetFakeServer; @@ -36,7 +37,7 @@ * * */ -public class PlayerManangementTest { +public class PlayerManangementTest extends AbstractIntegrationTest { MCServer fakeServer; MCPlayer fakePlayer; diff --git a/src/test/java/com/laytonsmith/core/functions/RegexTest.java b/src/test/java/com/laytonsmith/core/functions/RegexTest.java index 9006f24657..02fcde09d8 100644 --- a/src/test/java/com/laytonsmith/core/functions/RegexTest.java +++ b/src/test/java/com/laytonsmith/core/functions/RegexTest.java @@ -4,6 +4,7 @@ import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigRuntimeException; import com.laytonsmith.core.exceptions.CRE.CRECastException; +import com.laytonsmith.testing.AbstractIntegrationTest; import static com.laytonsmith.testing.StaticTest.SRun; import java.util.Set; @@ -21,7 +22,7 @@ * * */ -public class RegexTest { +public class RegexTest extends AbstractIntegrationTest { static Set> envs = com.laytonsmith.core.environments.Environment.getDefaultEnvClasses(); diff --git a/src/test/java/com/laytonsmith/core/functions/SchedulingTest.java b/src/test/java/com/laytonsmith/core/functions/SchedulingTest.java index 542b7dcb9d..f240c04a7d 100644 --- a/src/test/java/com/laytonsmith/core/functions/SchedulingTest.java +++ b/src/test/java/com/laytonsmith/core/functions/SchedulingTest.java @@ -3,6 +3,7 @@ import com.laytonsmith.abstraction.MCPlayer; import com.laytonsmith.core.Static; import com.laytonsmith.core.environments.CommandHelperEnvironment; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.SRun; import org.junit.After; @@ -16,7 +17,7 @@ /** * */ -public class SchedulingTest { +public class SchedulingTest extends AbstractIntegrationTest { MCPlayer fakePlayer; com.laytonsmith.core.environments.Environment env; @@ -31,7 +32,6 @@ public static void tearDownClass() throws Exception { @Before public void setUp() throws Exception { - StaticTest.InstallFakeServerFrontend(); env = Static.GenerateStandaloneEnvironment(); env = env.cloneAndAdd(new CommandHelperEnvironment()); fakePlayer = StaticTest.GetOnlinePlayer(); diff --git a/src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java b/src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java index cfc106127a..93aed265f5 100644 --- a/src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java +++ b/src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java @@ -5,17 +5,16 @@ import com.laytonsmith.core.exceptions.CRE.CREFormatException; import com.laytonsmith.core.exceptions.ConfigCompileException; import com.laytonsmith.core.exceptions.ConfigCompileGroupException; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.C; import com.laytonsmith.testing.StaticTest; import static com.laytonsmith.testing.StaticTest.SRun; import static com.laytonsmith.testing.StaticTest.assertCEquals; import java.util.Locale; import org.junit.After; -import org.junit.AfterClass; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import static org.mockito.Mockito.verify; @@ -23,22 +22,13 @@ * * */ -public class StringHandlingTest { +public class StringHandlingTest extends AbstractIntegrationTest { MCPlayer fakePlayer; public StringHandlingTest() { } - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - - @AfterClass - public static void tearDownClass() throws Exception { - } - @Before public void setUp() { fakePlayer = StaticTest.GetOnlinePlayer(); diff --git a/src/test/java/com/laytonsmith/core/functions/ThreadingTest.java b/src/test/java/com/laytonsmith/core/functions/ThreadingTest.java index 6b53e32ce8..eb5f821be0 100644 --- a/src/test/java/com/laytonsmith/core/functions/ThreadingTest.java +++ b/src/test/java/com/laytonsmith/core/functions/ThreadingTest.java @@ -6,6 +6,7 @@ import com.laytonsmith.core.Static; import com.laytonsmith.core.environments.CommandHelperEnvironment; import com.laytonsmith.core.environments.Environment; +import com.laytonsmith.testing.AbstractIntegrationTest; import com.laytonsmith.testing.StaticTest; import org.junit.*; @@ -14,7 +15,7 @@ import static org.mockito.Mockito.verify; -public class ThreadingTest { +public class ThreadingTest extends AbstractIntegrationTest { MCServer fakeServer; @@ -22,11 +23,6 @@ public class ThreadingTest { com.laytonsmith.core.environments.Environment env; static Set> envs = Environment.getDefaultEnvClasses(); - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - @AfterClass public static void tearDownClass() throws Exception { new File("profiler.config").deleteOnExit(); diff --git a/src/test/java/com/laytonsmith/core/objects/ObjectDefinitionTableTest.java b/src/test/java/com/laytonsmith/core/objects/ObjectDefinitionTableTest.java index 1dbd98e8c3..17b403ad21 100644 --- a/src/test/java/com/laytonsmith/core/objects/ObjectDefinitionTableTest.java +++ b/src/test/java/com/laytonsmith/core/objects/ObjectDefinitionTableTest.java @@ -19,7 +19,7 @@ import com.laytonsmith.core.profiler.Profiler; import com.laytonsmith.core.taskmanager.TaskManager; import com.laytonsmith.persistence.PersistenceNetwork; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -36,7 +36,7 @@ /** * */ -public class ObjectDefinitionTableTest { +public class ObjectDefinitionTableTest extends AbstractIntegrationTest { Environment env; static Set> envs = Environment.getDefaultEnvClasses(); @@ -57,8 +57,6 @@ private void addNatives() { @Before public void Before() { - StaticTest.InstallFakeServerFrontend(); - ExecutionQueue executionQueue = Mockito.mock(ExecutionQueue.class, (invocation) -> { throw new AssertionError("Interaction with the execution queue is not supported in this test."); }); diff --git a/src/test/java/com/laytonsmith/persistence/TestPersistence.java b/src/test/java/com/laytonsmith/persistence/TestPersistence.java index 7f083f0389..0ed9e32ca1 100644 --- a/src/test/java/com/laytonsmith/persistence/TestPersistence.java +++ b/src/test/java/com/laytonsmith/persistence/TestPersistence.java @@ -7,7 +7,7 @@ import com.laytonsmith.PureUtilities.ZipReader; import com.laytonsmith.persistence.io.ConnectionMixinFactory; import com.laytonsmith.persistence.io.ReadWriteFileConnection; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import static com.laytonsmith.testing.StaticTest.GetPrivate; import java.io.File; import java.net.URI; @@ -27,13 +27,12 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; /** * */ -public class TestPersistence { +public class TestPersistence extends AbstractIntegrationTest { /** * TODO: Need to test the following: Ensuring correct behavior with hidden keys that conflict @@ -45,11 +44,6 @@ public TestPersistence() { ConnectionMixinFactory.ConnectionMixinOptions options; DaemonManager dm; - @BeforeClass - public static void setUpClass() throws Exception { - StaticTest.InstallFakeServerFrontend(); - } - @Before public void setUp() throws Exception { testData.put(new String[]{"a", "b"}, "value1"); diff --git a/src/test/java/com/laytonsmith/testing/AbstractIntegrationTest.java b/src/test/java/com/laytonsmith/testing/AbstractIntegrationTest.java new file mode 100644 index 0000000000..ee1652e624 --- /dev/null +++ b/src/test/java/com/laytonsmith/testing/AbstractIntegrationTest.java @@ -0,0 +1,40 @@ +package com.laytonsmith.testing; + +import org.junit.AfterClass; +import org.junit.BeforeClass; + +import com.laytonsmith.abstraction.Implementation; + +/** + * Integration base test class. Manages static setup and cleanup for child integration test classes. + */ +public abstract class AbstractIntegrationTest { + + /** + * Runs before a child test class. Runs before the {@link BeforeClass} annotated method in a child class, + * unless that method shares the same name. + * @throws Exception + */ + @BeforeClass + public static void setUpClassGlobal() throws Exception { + + // Set server type. + Implementation.setServerType(Implementation.Type.TEST); + + // Install fake server frontend. + // This is initialized only once and kept cross-test-class in StaticTest. + StaticTest.InstallFakeServerFrontend(); + } + + /** + * Runs after a child test class. Runs after the {@link AfterClass} annotated method in a child class, + * unless that method shares the same name. + * @throws Exception + */ + @AfterClass + public static void tearDownClassGlobal() throws Exception { + + // Reset server type. + Implementation.forceServerType(null); + } +} diff --git a/src/test/java/com/laytonsmith/testing/ProcedureTest.java b/src/test/java/com/laytonsmith/testing/ProcedureTest.java index 81863c7fee..7a093c7f10 100644 --- a/src/test/java/com/laytonsmith/testing/ProcedureTest.java +++ b/src/test/java/com/laytonsmith/testing/ProcedureTest.java @@ -18,7 +18,7 @@ * * */ -public class ProcedureTest { +public class ProcedureTest extends AbstractIntegrationTest { MCPlayer fakePlayer; diff --git a/src/test/java/com/laytonsmith/testing/RandomTests.java b/src/test/java/com/laytonsmith/testing/RandomTests.java index 567c33d810..553a00bf39 100644 --- a/src/test/java/com/laytonsmith/testing/RandomTests.java +++ b/src/test/java/com/laytonsmith/testing/RandomTests.java @@ -77,7 +77,7 @@ */ //@RunWith(PowerMockRunner.class) //@PrepareForTest(Static.class) -public class RandomTests { +public class RandomTests extends AbstractIntegrationTest { MCPlayer fakePlayer; @@ -100,7 +100,6 @@ public void testAllBoilerplate() { Map uhohs = new HashMap<>(); String[] requiredMethods = new String[]{"toString", "equals", "hashCode"}; //Ensure that all the abstraction objects overloaded - StaticTest.InstallFakeServerFrontend(); outer: for(Class c : ClassDiscovery.getDefaultInstance().loadClassesThatExtend(AbstractionObject.class)) { inner: diff --git a/src/test/java/com/laytonsmith/testing/StaticTest.java b/src/test/java/com/laytonsmith/testing/StaticTest.java index e789a3b250..8a88f118f8 100644 --- a/src/test/java/com/laytonsmith/testing/StaticTest.java +++ b/src/test/java/com/laytonsmith/testing/StaticTest.java @@ -112,7 +112,7 @@ * * */ -public class StaticTest { +public class StaticTest extends AbstractIntegrationTest { static com.laytonsmith.core.environments.Environment env; static Set> envs = Environment.getDefaultEnvClasses(); @@ -541,7 +541,6 @@ public static void Run(String script, MCCommandSender player) throws Exception { } public static void Run(String script, MCCommandSender player, MethodScriptComplete done, Environment env) throws Exception { - InstallFakeServerFrontend(); if(env == null) { env = StaticTest.env; } @@ -558,7 +557,6 @@ public static void RunCommand(String combinedScript, MCCommandSender player, Str } public static void RunCommand(String combinedScript, MCCommandSender player, String command, Environment env) throws Exception { - InstallFakeServerFrontend(); if(env == null) { env = StaticTest.env; } @@ -573,7 +571,6 @@ public static void RunCommand(String combinedScript, MCCommandSender player, Str } public static String SRun(String script, MCCommandSender player, Environment env) throws Exception { - InstallFakeServerFrontend(); final StringBuffer b = new StringBuffer(); Run(script, player, new MethodScriptComplete() { @@ -667,7 +664,6 @@ public static void InstallFakeServerFrontend() { * @throws java.lang.Exception */ public static void InstallFakeConvertor(MCPlayer fakePlayer) throws Exception { - InstallFakeServerFrontend(); try { //We need to add the test directory to the ClassDiscovery path //This should probably not be hard coded at some point. diff --git a/src/test/java/com/laytonsmith/tools/SyntaxHighlightersTest.java b/src/test/java/com/laytonsmith/tools/SyntaxHighlightersTest.java index 0de27781e7..e3990e7814 100644 --- a/src/test/java/com/laytonsmith/tools/SyntaxHighlightersTest.java +++ b/src/test/java/com/laytonsmith/tools/SyntaxHighlightersTest.java @@ -5,7 +5,7 @@ */ package com.laytonsmith.tools; -import com.laytonsmith.testing.StaticTest; +import com.laytonsmith.testing.AbstractIntegrationTest; import org.junit.Test; import static org.junit.Assert.*; import org.junit.Ignore; @@ -14,10 +14,9 @@ * * @author Cailin */ -public class SyntaxHighlightersTest { +public class SyntaxHighlightersTest extends AbstractIntegrationTest { public SyntaxHighlightersTest() { - StaticTest.InstallFakeServerFrontend(); } @Test