13604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot/* 23604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * Copyright (C) 2010 The Android Open Source Project 33604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * 43604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * Licensed under the Apache License, Version 2.0 (the "License"); 53604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * you may not use this file except in compliance with the License. 63604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * You may obtain a copy of the License at 73604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * 83604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * http://www.apache.org/licenses/LICENSE-2.0 93604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * 103604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * Unless required by applicable law or agreed to in writing, software 113604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * distributed under the License is distributed on an "AS IS" BASIS, 123604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * See the License for the specific language governing permissions and 143604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * limitations under the License. 153604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot */ 163604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabotpackage com.android.test.runner.junit3; 173604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 183604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabotimport junit.framework.TestResult; 193604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 203604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabotimport org.junit.internal.runners.JUnit38ClassRunner; 213604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabotimport org.junit.runner.notification.RunNotifier; 223604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 233604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot/** 243604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot * A specialized {@link JUnit38ClassRunner} that will skip test execution. 253604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot */ 263604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabotclass NonExecutingJUnit3ClassRunner extends JUnit38ClassRunner { 273604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 283604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot public NonExecutingJUnit3ClassRunner(Class<?> klass) { 293604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot super(klass); 303604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot // TODO: it would be nice if actually creating Test objects could be skipped too like 313604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot // junit4, but there doesn't seem to be an easy way of doing that. 323604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot } 333604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 343604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot @Override 353604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot public void run(RunNotifier notifier) { 363604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot TestResult result = new NoExecTestResult(); 373604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot result.addListener(createAdaptingListener(notifier)); 383604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot getTest().run(result); 393604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot } 403604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot 413604db5bcd124dfd1396fb51434d3f4337690cffBrett Chabot} 42