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) 6045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 6145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SkipPast() throws Exception { 6245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin Class<?> testClass = testRunnerRule.testClass(); 6345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String failingTestName = testClass.getName() + "#simple1"; 6445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner("--skipPast", failingTestName); 6545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 6645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 6745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 6845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 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_SkipPastAll() throws Exception { 7645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin Class<?> testClass = testRunnerRule.testClass(); 7745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String failingTestName = testClass.getName() + "#other"; 7845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner("--skipPast", failingTestName); 7945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 8045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 8145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults().completedNormally(); 8245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 8345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 8445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 8545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 8645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_OneMethod() throws Exception { 8745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple2"}; 8845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 8945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 9045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 9145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 9245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 9345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 9445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 9545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 9645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 9745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 9845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_TwoMethod() throws Exception { 9945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple1", "Simple3"}; 10045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 10145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 10245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 10345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 10445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 10545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 10645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 10745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 10845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 10945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest2.class) 11045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 11145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest2_WrongMethod() throws Exception { 11245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String args = "testSimple5"; 11345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 11445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 11545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 11645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 11745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("testSimple5", 11845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "junit.framework.AssertionFailedError: Method \"" + args 11945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + "\" not found\n") 12045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 12145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 12245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 12345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = ExtendedSimpleTest2.class) 12445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 12545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_ExtendedSimple2() throws Exception { 12645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 12745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 12845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 12945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 13045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 13145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 13245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 13345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple4") 13445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 13545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 13645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 13745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties( 13845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin testClass = ExtendedSimpleTest2.class, 13945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin testClassOrPackage = "vogar.target.junit4.ExtendedSimpleTest2#simple2") 14045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 14145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_ExtendedSimple2_QualifiedAndMethodNames() throws Exception { 14245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String[] args = {"simple1", "simple4"}; 14345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(args); 14445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 14545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 14645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 14745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 14845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 14945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple4") 15045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 15145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 15245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 15345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SimpleTest.class) 15445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 15545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SimpleTest() throws Exception { 15645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 15745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 15845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 15945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 16045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .forTestClass(SimpleTest3.class) 16145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple") 16245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 16345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 16445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 16545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = FailTest.class) 16645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 16745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_FailTest() throws Exception { 16845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 16945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 17045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 17145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 17245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("failure", 17345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.AssertionError: failed.\n") 17445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("success") 17545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("throwAnotherExpectedException") 17645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("throwException", "java.lang.RuntimeException: exception\n") 17745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("throwExpectedException") 17845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 17945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 18045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 18145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = FailConstructorTest.class) 18245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 18345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_FailConstructorTest() throws Exception { 18445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 18545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 18645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 18745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 18845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("testSuccess", "" 18945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + "java.lang.IllegalStateException: Constructor failed\n") 19045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 19145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 19245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 19345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = SuiteTest.class) 19445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 19545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_SuiteTest() throws Exception { 19645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 19745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 19845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 199654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // The order is different from previous version of Vogar as that sorted a flattened list 200654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // but JUnit has it organized as a hierarchy and sorts each level so classes which are on 201654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // a separate level, like SimpleTest2 and SimpleTest3 are not sorted relative to each 202654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin // other. 20345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 204654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .forTestClass(SimpleTest3.class) 205654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("simple") 20645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .forTestClass(SimpleTest2.class) 20745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("Simple3") 20845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple1") 20945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("simple2") 21045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 21145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 21245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 21345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LongTest.class, timeout = 1) 21445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 21545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LongTest_WithTimeout() throws Exception { 21645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 21745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 21845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 21945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Note, that this doesn't complete normally. That's correct behavior as that will trigger 22045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // the vogar process to restart the VM and run the tests from after this one. 22145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 22245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure("test", "java.util.concurrent.TimeoutException\n") 22345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .aborted(); 22445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 22545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 22645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LongTest2.class) 22745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 22845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LongTest2_WithoutTimeout() throws Exception { 22945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 23045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 23145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 23245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 23345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test1") 23445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test2") 23545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test3") 23645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test4") 23745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test5") 23845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test6") 23945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test7") 24045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test8") 24145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 24245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 24345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 24445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = TestMethodWithParameterTest.class) 24545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 24645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_TestMethodWithParameterTest() throws Exception { 24745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 24845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 24945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 25045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String methodName = "parameterized"; 25145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 25245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure(methodName, 25345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.Exception: Method " + methodName 25445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + " should have no parameters\n") 25545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 25645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 25745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 25845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = TestMethodWithParameterTest.class) 25945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 26045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_TestMethodWithParameterTest_Requested() throws Exception { 26145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin String methodName = "parameterized"; 26245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(methodName); 26345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 26445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 26545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Ignores tests with no parameters. 26645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 26745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .failure(methodName, 26845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin "java.lang.Exception: Method " + methodName 26945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin + " should have no parameters\n") 27045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 27145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 27245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 27345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = NoMethodTest.class) 27445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 27545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_NoMethodTest() throws Exception { 27645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 27745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 27845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 27945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Ignores tests with no parameters. 28045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 28145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .unsupported() 28245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 28345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 28445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 28545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = AnnotatedTestMethodsTest.class) 28645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 28745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_AnnotatedTestMethodsTest() throws Exception { 28845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 28945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 29045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 29145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 29245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("test1", "Before\nTest 1\nAfter\n") 29345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 29445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 29545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 296654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin @TestRunnerProperties(testClass = AnnotatedMethodsTest.class) 297654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin @Test 298654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin public void testRunner_AnnotatedMethodsTest() throws Exception { 299654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 300654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin runner.run(); 301654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin 302654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin expectedResults() 303654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Before Class\n") 304654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test1", "Before\nTest 1\nAfter\n") 305654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test2", "Before\nTest 2\nAfter\n") 306654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("After Class\n") 307654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .completedNormally(); 308654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin } 309654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin 31045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = LazyTestCreationTest.class) 31145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 31245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_LazyTestCreationTest() throws Exception { 31345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 31445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 31545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 31645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 317654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Creating\n") 318654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test1") 319654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .text("Creating\n") 320654f21617c60f23069912900a1e1ef11e9e1c742Paul Duffin .success("test2") 32145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 32245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 32345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 32445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // ========================================================================================= 32545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // Place all JUnit4 specific test methods after this one. 32645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin // ========================================================================================= 32745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 32845b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @TestRunnerProperties(testClass = HasIgnoredTest.class) 32945b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin @Test 33045b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin public void testRunner_HasIgnoredTest() throws Exception { 33145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 33245b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin runner.run(); 33345b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin 33445b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin expectedResults() 33545b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .success("working") 33645b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin .completedNormally(); 33745b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin } 338878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin 339878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin @TestRunnerProperties(testClass = MockitoFieldTest.class) 340878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin @Test 341878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin public void testRunner_MockitoFieldTest() throws Exception { 342878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 343878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin runner.run(); 344878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin 345878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin expectedResults() 346878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin .success("test") 347878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin .completedNormally(); 348878d59e5772566363eb560cb6669c968d2c3d05bPaul Duffin } 349fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin 350fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin @TestRunnerProperties(testClass = AssumeTest.class) 351fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin @Test 352fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin public void testRunner_AssumeTest() throws Exception { 353fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin TestRunner runner = testRunnerRule.createTestRunner(); 354fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin runner.run(); 355fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin 356fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin expectedResults() 357fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin .success("assumesCorrectly", "Assumption was correct\n") 358fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin .success("assumesIncorrectly") 359fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin .completedNormally(); 360fafe03401cb88a17240e83a93c33b3a079e40d92Paul Duffin } 36145b3ffb2d3d0c310718926c1acc69f5bf946ee3fPaul Duffin} 362