TestRunnerJUnit4Test.java revision 654f21617c60f23069912900a1e1ef11e9e1c742
145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin/* 245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * Copyright (C) 2016 The Android Open Source Project 345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * 445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * Licensed under the Apache License, Version 2.0 (the "License"); 545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * you may not use this file except in compliance with the License. 645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * You may obtain a copy of the License at 745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * 845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * http://www.apache.org/licenses/LICENSE-2.0 945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * 1045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * Unless required by applicable law or agreed to in writing, software 1145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * distributed under the License is distributed on an "AS IS" BASIS, 1245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * See the License for the specific language governing permissions and 1445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * limitations under the License. 1545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin */ 1645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 1745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinpackage vogar.target.junit4; 1845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 1945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport org.junit.Test; 2045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport org.junit.runner.RunWith; 2145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport org.junit.runners.JUnit4; 2245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport vogar.target.AbstractTestRunnerTest; 2345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport vogar.target.TestRunner; 2445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinimport vogar.target.TestRunnerProperties; 2545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 2645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin/** 2745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin * Tests for using TestRunner to run JUnit 4 classes. 2845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin */ 2945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin@RunWith(JUnit4.class) 3045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffinpublic class TestRunnerJUnit4Test extends AbstractTestRunnerTest { 3145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 3245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = ChangeDefaultLocaleTest.class) 3345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 3445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_ChangeDefaultLocaleTest() throws Exception { 3545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 3645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 3745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 3845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Note, that this doesn't complete normally. That's correct behavior as that will trigger 3945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // the vogar process to restart the VM and run the tests from after this one. 4045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 4145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("testDefault_Locale_CANADA") 4245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("testDefault_Locale_CHINA") 4345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 4445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 4545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 4645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 4745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 4845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2() throws Exception { 4945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 5045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 5145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 5245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 5345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 5445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 5545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 5645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 5745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 5845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 5945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class, profile = true) 6045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 6145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_Profile() throws Exception { 6245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 6345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 6445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 6545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 6645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .ensureProfilingWasRequested() 6745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 6845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 6945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 7045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 7145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 7245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 7345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 7445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 7545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SkipPast() throws Exception { 7645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin Class<?> testClass = testRunnerRule.testClass(); 7745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String failingTestName = testClass.getName() + "#simple1"; 7845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner("--skipPast", failingTestName); 7945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 8045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 8145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 8245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 8345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 8445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 8545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 8645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 8745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 8845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 8945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SkipPastAll() throws Exception { 9045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin Class<?> testClass = testRunnerRule.testClass(); 9145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String failingTestName = testClass.getName() + "#other"; 9245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner("--skipPast", failingTestName); 9345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 9445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 9545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults().completedNormally(); 9645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 9745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 9845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 9945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 10045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_OneMethod() throws Exception { 10145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple2"}; 10245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 10345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 10445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 10545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 10645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 10745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 10845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 10945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 11045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 11145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 11245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_TwoMethod() throws Exception { 11345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple1", "Simple3"}; 11445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 11545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 11645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 11745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 11845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 11945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 12045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 12145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 12245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 12345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 12445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 12545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_WrongMethod() throws Exception { 12645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String args = "testSimple5"; 12745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 12845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 12945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 13045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 13145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("testSimple5", 13245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "junit.framework.AssertionFailedError: Method \"" + args 13345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + "\" not found\n") 13445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 13545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 13645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 13745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = ExtendedSimpleTest2.class) 13845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 13945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_ExtendedSimple2() throws Exception { 14045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 14145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 14245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 14345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 14445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 14545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 14645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 14745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple4") 14845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 14945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 15045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 15145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties( 15245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin testClass = ExtendedSimpleTest2.class, 15345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin testClassOrPackage = "vogar.target.junit4.ExtendedSimpleTest2#simple2") 15445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 15545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_ExtendedSimple2_QualifiedAndMethodNames() throws Exception { 15645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple1", "simple4"}; 15745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 15845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 15945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 16045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 16145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 16245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 16345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple4") 16445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 16545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 16645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 16745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest.class) 16845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 16945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest() throws Exception { 17045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 17145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 17245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 17345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 17445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .forTestClass(SimpleTest3.class) 17545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple") 17645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 17745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 17845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 17945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = FailTest.class) 18045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 18145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_FailTest() throws Exception { 18245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 18345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 18445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 18545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 18645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("failure", 18745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.AssertionError: failed.\n") 18845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("success") 18945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("throwAnotherExpectedException") 19045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("throwException", "java.lang.RuntimeException: exception\n") 19145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("throwExpectedException") 19245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 19345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 19445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 19545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = FailConstructorTest.class) 19645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 19745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_FailConstructorTest() throws Exception { 19845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 19945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 20045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 20145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 20245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("testSuccess", "" 20345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + "java.lang.IllegalStateException: Constructor failed\n") 20445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 20545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 20645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 20745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SuiteTest.class) 20845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 20945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SuiteTest() throws Exception { 21045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 21145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 21245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 213654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // The order is different from previous version of Vogar as that sorted a flattened list 214654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // but JUnit has it organized as a hierarchy and sorts each level so classes which are on 215654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // a separate level, like SimpleTest2 and SimpleTest3 are not sorted relative to each 216654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // other. 21745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 218654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .forTestClass(SimpleTest3.class) 219654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("simple") 22045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .forTestClass(SimpleTest2.class) 22145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 22245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 22345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 22445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 22545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 22645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 22745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LongTest.class, timeout = 1) 22845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 22945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LongTest_WithTimeout() throws Exception { 23045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 23145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 23245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 23345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Note, that this doesn't complete normally. That's correct behavior as that will trigger 23445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // the vogar process to restart the VM and run the tests from after this one. 23545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 23645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("test", "java.util.concurrent.TimeoutException\n") 23745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .aborted(); 23845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 23945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 24045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LongTest2.class) 24145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 24245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LongTest2_WithoutTimeout() throws Exception { 24345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 24445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 24545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 24645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 24745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test1") 24845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test2") 24945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test3") 25045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test4") 25145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test5") 25245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test6") 25345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test7") 25445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test8") 25545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 25645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 25745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 25845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = TestMethodWithParameterTest.class) 25945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 26045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_TestMethodWithParameterTest() throws Exception { 26145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 26245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 26345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 26445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String methodName = "parameterized"; 26545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 26645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure(methodName, 26745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.Exception: Method " + methodName 26845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + " should have no parameters\n") 26945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 27045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 27145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 27245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = TestMethodWithParameterTest.class) 27345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 27445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_TestMethodWithParameterTest_Requested() throws Exception { 27545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String methodName = "parameterized"; 27645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(methodName); 27745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 27845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 27945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Ignores tests with no parameters. 28045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 28145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure(methodName, 28245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.Exception: Method " + methodName 28345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + " should have no parameters\n") 28445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 28545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 28645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 28745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = NoMethodTest.class) 28845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 28945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_NoMethodTest() throws Exception { 29045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 29145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 29245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 29345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Ignores tests with no parameters. 29445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 29545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .unsupported() 29645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 29745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 29845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 29945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = AnnotatedTestMethodsTest.class) 30045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 30145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_AnnotatedTestMethodsTest() throws Exception { 30245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 30345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 30445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 30545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 30645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test1", "Before\nTest 1\nAfter\n") 30745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 30845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 30945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 310654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin @TestRunnerProperties(testClass = AnnotatedMethodsTest.class) 311654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin @Test 312654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin public void testRunner_AnnotatedMethodsTest() throws Exception { 313654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 314654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin runner.run(); 315654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin 316654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin expectedResults() 317654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Before Class\n") 318654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test1", "Before\nTest 1\nAfter\n") 319654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test2", "Before\nTest 2\nAfter\n") 320654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("After Class\n") 321654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .completedNormally(); 322654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin } 323654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin 32445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LazyTestCreationTest.class) 32545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 32645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LazyTestCreationTest() throws Exception { 32745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 32845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 32945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 33045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 331654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Creating\n") 332654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test1") 333654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Creating\n") 334654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test2") 33545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 33645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 33745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 33845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // ========================================================================================= 33945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Place all JUnit4 specific test methods after this one. 34045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // ========================================================================================= 34145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 34245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = HasIgnoredTest.class) 34345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 34445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_HasIgnoredTest() throws Exception { 34545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 34645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 34745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 34845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 34945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("working") 35045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 35145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 352878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin 353878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin @TestRunnerProperties(testClass = MockitoFieldTest.class) 354878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin @Test 355878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin public void testRunner_MockitoFieldTest() throws Exception { 356878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 357878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin runner.run(); 358878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin 359878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin expectedResults() 360878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin .success("test") 361878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin .completedNormally(); 362878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin } 36345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin} 364