1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.server.wm.test.filters; 18 19 import android.wm.RelayoutPerfTest; 20 21 import org.junit.runner.Description; 22 import org.junit.runner.manipulation.Filter; 23 24 /** 25 * A static filter to have the same signature as the one in frameworks/base/tests/utils/testutils/. 26 * This doesn't share the existing library because it doesn't support parameterized test. 27 */ 28 public class FrameworksTestsFilter extends Filter { 29 30 private boolean mShouldRun; 31 32 @Override shouldRun(Description description)33 public boolean shouldRun(Description description) { 34 final Class<?> testClass = description.getTestClass(); 35 // Parameterized test methods don't have the original information. So keep the last status 36 // that matches the target class. 37 mShouldRun = (mShouldRun && testClass == null) || testClass == RelayoutPerfTest.class; 38 return mShouldRun; 39 } 40 41 @Override describe()42 public String describe() { 43 return "Default filter"; 44 } 45 } 46