Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac5814c2 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Add partial WmPerfTests to presubmit

Test: adb shell am instrument -w -e filter \
      com.android.server.wm.test.filters.FrameworksTestsFilter \
      com.android.perftests.wm/androidx.test.runner.AndroidJUnitRunner
Bug: 131727899
Change-Id: Ib0e6be534d911f67bedf774ecb34072b58af792d
parent 82658d6c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ android_test {
        "androidx.test.rules",
        "androidx.annotation_annotation",
        "apct-perftests-utils",
        "platform-test-annotations",
    ],
    test_suites: ["device-tests"],
    platform_apis: true,
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.RemoteException;
import android.perftests.utils.BenchmarkState;
import android.perftests.utils.PerfStatusReporter;
import android.perftests.utils.PerfTestActivity;
import android.platform.test.annotations.Presubmit;
import android.util.MergedConfiguration;
import android.view.DisplayCutout;
import android.view.IWindow;
@@ -52,6 +53,7 @@ import java.util.function.IntSupplier;

@RunWith(Parameterized.class)
@LargeTest
@Presubmit
public class RelayoutPerfTest extends WindowManagerPerfTestBase {
    private int mIteration;

+45 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.server.wm.test.filters;

import android.wm.RelayoutPerfTest;

import org.junit.runner.Description;
import org.junit.runner.manipulation.Filter;

/**
 * A static filter to have the same signature as the one in frameworks/base/tests/utils/testutils/.
 * This doesn't share the existing library because it doesn't support parameterized test.
 */
public class FrameworksTestsFilter extends Filter {

    private boolean mShouldRun;

    @Override
    public boolean shouldRun(Description description) {
        final Class<?> testClass = description.getTestClass();
        // Parameterized test methods don't have the original information. So keep the last status
        // that matches the target class.
        mShouldRun = (mShouldRun && testClass == null) || testClass == RelayoutPerfTest.class;
        return mShouldRun;
    }

    @Override
    public String describe() {
        return "Default filter";
    }
}