15e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot/* 25e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Copyright (C) 2012 The Android Open Source Project 35e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * 45e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Licensed under the Apache License, Version 2.0 (the "License"); 55e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * you may not use this file except in compliance with the License. 65e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * You may obtain a copy of the License at 75e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * 85e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * http://www.apache.org/licenses/LICENSE-2.0 95e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * 105e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Unless required by applicable law or agreed to in writing, software 115e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * distributed under the License is distributed on an "AS IS" BASIS, 125e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * See the License for the specific language governing permissions and 145e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * limitations under the License. 155e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot */ 165e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotpackage com.android.test.runner; 175e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 185e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport android.app.Instrumentation; 19fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabotimport android.os.Bundle; 205e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport android.test.suitebuilder.annotation.SmallTest; 219463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabotimport android.test.suitebuilder.annotation.Suppress; 225e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 23fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabotimport com.android.test.InjectBundle; 245e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport com.android.test.InjectInstrumentation; 255e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 264c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabotimport junit.framework.TestCase; 274c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 285e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport org.junit.Assert; 295e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport org.junit.Test; 304c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabotimport org.junit.runner.Description; 315e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport org.junit.runner.JUnitCore; 325e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport org.junit.runner.Result; 334c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabotimport org.junit.runner.notification.RunListener; 345e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 355e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport java.io.ByteArrayOutputStream; 365e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotimport java.io.PrintStream; 375e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 385e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot/** 395e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Unit tests for {@link TestRequestBuilder}. 405e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot */ 415e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabotpublic class TestRequestBuilderTest { 425e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 435e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public static class SampleTest { 445e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 455e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @SmallTest 465e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 475e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testSmall() { 485e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 495e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 505e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 515e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testOther() { 525e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 535e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 545e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 555e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @SmallTest 565e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public static class SampleClassSize { 575e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 585e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 595e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testSmall() { 605e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 615e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 625e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 635e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testSmallToo() { 645e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 655e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 665e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 674c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot public static class SampleNoSize extends TestCase { 684c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 694c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot public void testOther() { 704c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 714c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 724c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot public void testOther2() { 734c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 744c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 754c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 764c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 779463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public static class SampleJUnit3Test extends TestCase { 789463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 799463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @SmallTest 809463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSmall() { 819463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 829463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 839463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @SmallTest 849463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSmall2() { 859463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 869463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 879463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testOther() { 889463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 899463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 909463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 919463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @SmallTest 929463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public static class SampleJUnit3ClassSize extends TestCase { 939463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 949463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSmall() { 959463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 969463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 979463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSmall2() { 989463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 999463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1009463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 1019463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1029463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public static class SampleJUnit3Suppressed extends TestCase { 1039463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1049463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testRun() { 1059463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 1069463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1079463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testRun2() { 1089463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 1099463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1109463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @Suppress 1119463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSuppressed() { 1129463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 1139463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1149463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 1159463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 1165e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @InjectInstrumentation 1175e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public Instrumentation mInstr; 1185e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 119fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot @InjectBundle 120fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot public Bundle mBundle; 121fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot 1225e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot /** 1235e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Test initial condition for size filtering - that all tests run when no filter is attached 1245e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot */ 1255e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 1265e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testNoSize() { 1275e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 1285e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestClass(SampleTest.class.getName()); 129fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot TestRequest request = b.build(mInstr, mBundle); 1305e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot JUnitCore testRunner = new JUnitCore(); 1315e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Result result = testRunner.run(request.getRequest()); 1325e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Assert.assertEquals(2, result.getRunCount()); 1335e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 1345e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 1355e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot /** 1365e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Test that size annotation filtering works 1375e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot */ 1385e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 1395e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testSize() { 1405e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 1415e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestClass(SampleTest.class.getName()); 1425e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestSizeFilter("small"); 143fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot TestRequest request = b.build(mInstr, mBundle); 1445e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot JUnitCore testRunner = new JUnitCore(); 1455e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Result result = testRunner.run(request.getRequest()); 1465e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Assert.assertEquals(1, result.getRunCount()); 1475e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 1485e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot 1495e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot /** 1505e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot * Test that size annotation filtering by class works 1515e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot */ 1525e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot @Test 1535e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot public void testSize_class() { 1545e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 1555e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestClass(SampleTest.class.getName()); 1565e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestClass(SampleClassSize.class.getName()); 1575e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot b.addTestSizeFilter("small"); 158fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot TestRequest request = b.build(mInstr, mBundle); 1595e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot JUnitCore testRunner = new JUnitCore(); 1605e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Result result = testRunner.run(request.getRequest()); 1615e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot Assert.assertEquals(3, result.getRunCount()); 1625e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot } 16316522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot 16416522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot /** 1654c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot * Test case where entire JUnit3 test class has been filtered out 1664c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot */ 1674c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot @Test 1684c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot public void testSize_classFiltered() { 1694c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 1704c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot b.addTestClass(SampleTest.class.getName()); 1714c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot b.addTestClass(SampleNoSize.class.getName()); 1724c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot b.addTestSizeFilter("small"); 1734c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot TestRequest request = b.build(mInstr, mBundle); 1744c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot MyRunListener l = new MyRunListener(); 1754c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot JUnitCore testRunner = new JUnitCore(); 1764c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot testRunner.addListener(l); 1774c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot testRunner.run(request.getRequest()); 1784c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot Assert.assertEquals(1, l.mTestCount); 1794c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 1804c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 1814c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot private static class MyRunListener extends RunListener { 1824c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot private int mTestCount = -1; 1834c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 1844c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot public void testRunStarted(Description description) throws Exception { 1854c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot mTestCount = description.testCount(); 1864c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 1874c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot } 1884c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot 1894c88c2100e947576671cea794fca1f4fe3dc52f5Brett Chabot /** 1909463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot * Test size annotations with JUnit3 test methods 1919463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot */ 1929463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @Test 1939463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSize_junit3Method() { 1949463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 1959463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot b.addTestClass(SampleJUnit3Test.class.getName()); 1969463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot b.addTestClass(SampleNoSize.class.getName()); 1979463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot b.addTestSizeFilter("small"); 1989463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot TestRequest request = b.build(mInstr, mBundle); 1999463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot JUnitCore testRunner = new JUnitCore(); 2009463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot Result r = testRunner.run(request.getRequest()); 2019463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot Assert.assertEquals(2, r.getRunCount()); 2029463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 2039463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 2049463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot /** 2059463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot * Test @Suppress with JUnit3 tests 2069463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot */ 2079463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot @Test 2089463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot public void testSuppress_junit3Method() { 2099463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 2109463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot b.addTestClass(SampleJUnit3Suppressed.class.getName()); 2119463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot TestRequest request = b.build(mInstr, mBundle); 2129463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot JUnitCore testRunner = new JUnitCore(); 2139463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot Result r = testRunner.run(request.getRequest()); 2149463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot Assert.assertEquals(2, r.getRunCount()); 2159463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot } 2169463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot 2179463bdc2018f4ea7d59cb72bcfdf6efe19921dccBrett Chabot /** 21816522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot * Test that annotation filtering by class works 21916522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot */ 22016522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot @Test 22116522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot public void testAddAnnotationInclusionFilter() { 22216522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 22316522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addAnnotationInclusionFilter(SmallTest.class.getName()); 22416522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addTestClass(SampleTest.class.getName()); 22516522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addTestClass(SampleClassSize.class.getName()); 226fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot TestRequest request = b.build(mInstr, mBundle); 22716522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot JUnitCore testRunner = new JUnitCore(); 22816522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot Result result = testRunner.run(request.getRequest()); 22916522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot Assert.assertEquals(3, result.getRunCount()); 23016522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot } 23116522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot 23216522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot /** 23316522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot * Test that annotation filtering by class works 23416522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot */ 23516522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot @Test 23616522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot public void testAddAnnotationExclusionFilter() { 23716522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot TestRequestBuilder b = new TestRequestBuilder(new PrintStream(new ByteArrayOutputStream())); 23816522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addAnnotationExclusionFilter(SmallTest.class.getName()); 23916522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addTestClass(SampleTest.class.getName()); 24016522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot b.addTestClass(SampleClassSize.class.getName()); 241fc37a0172db7197e6e0702dfa9bfdd6bed1947b1Brett Chabot TestRequest request = b.build(mInstr, mBundle); 24216522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot JUnitCore testRunner = new JUnitCore(); 24316522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot Result result = testRunner.run(request.getRequest()); 24416522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot Assert.assertEquals(1, result.getRunCount()); 24516522ab7fbaaa627c2c51cfc1339c2248af6df1bBrett Chabot } 2465e6ca275201fea0fd0316fb15bc7d0248e224b2cBrett Chabot} 247