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