Ensure all tests check that ADPF is supported first Test: atest PerformanceHintManagerTest Flag: EXEMPT test change Bug: 392760210 Change-Id: Ib5d4a55a021b1f79f69b84659db97ae2af0b6413
diff --git a/tests/tests/os/jni/android_os_cts_PerformanceHintManagerTest.cpp b/tests/tests/os/jni/android_os_cts_PerformanceHintManagerTest.cpp index 0b378b2..b936f00 100644 --- a/tests/tests/os/jni/android_os_cts_PerformanceHintManagerTest.cpp +++ b/tests/tests/os/jni/android_os_cts_PerformanceHintManagerTest.cpp
@@ -137,6 +137,10 @@ return wrapWorkDuration(out); } +static jboolean nativeGetSessionsAreSupported() { + return APerformanceHint_isFeatureSupported(APERF_HINT_SESSIONS); +} + static jstring nativeTestCreateHintSession(JNIEnv *env, jobject) { APerformanceHintManager* manager = APerformanceHint_getManager(); if (!manager) return toJString(env, "null manager"); @@ -420,7 +424,6 @@ static jstring nativeTestLoadHints(JNIEnv* env, jobject) { APerformanceHintManager* manager = APerformanceHint_getManager(); if (!manager) return toJString(env, "null manager"); - SupportHelper supportInfo = getSupportHelper(); auto session = createSession(manager); if (session == nullptr) return nullptr; @@ -498,7 +501,13 @@ return reinterpret_cast<jlong>(session); } + static jstring nativeTestCreateGraphicsPipelineSession(JNIEnv* env, jobject) { + auto supportInfo = getSupportHelper(); + if (!supportInfo.graphicsPipeline) { + return nullptr; + } + APerformanceHintManager* manager = APerformanceHint_getManager(); if (!manager) return toJString(env, "null manager"); @@ -513,14 +522,14 @@ static jstring nativeTestSetNativeSurfaces(JNIEnv* env, jobject, jobject surfaceControlFromJava, jobject surfaceFromJava) { - APerformanceHintManager* manager = APerformanceHint_getManager(); - if (!manager) return toJString(env, "null manager"); - auto supportInfo = getSupportHelper(); if (!supportInfo.bindToSurface) { return nullptr; } + APerformanceHintManager* manager = APerformanceHint_getManager(); + if (!manager) return toJString(env, "null manager"); + int errCode = 0; auto surfaceControl = wrapSurfaceControl(ASurfaceControl_fromJava(env, surfaceControlFromJava)); @@ -680,7 +689,10 @@ } static JNINativeMethod gMethods[] = { - {"nativeTestCreateHintSession", "()Ljava/lang/String;", (void*)nativeTestCreateHintSession}, + {"nativeGetSessionsAreSupported", "()Z", + (void*)nativeGetSessionsAreSupported}, + {"nativeTestCreateHintSession", "()Ljava/lang/String;", + (void*)nativeTestCreateHintSession}, {"nativeTestCreateGraphicsPipelineSession", "()Ljava/lang/String;", (void*)nativeTestCreateGraphicsPipelineSession}, {"nativeTestCreateHintSessionUsingConfig", "()Ljava/lang/String;",
diff --git a/tests/tests/os/src/android/os/cts/PerformanceHintManagerTest.java b/tests/tests/os/src/android/os/cts/PerformanceHintManagerTest.java index f9d58ca..8384eb8 100644 --- a/tests/tests/os/src/android/os/cts/PerformanceHintManagerTest.java +++ b/tests/tests/os/src/android/os/cts/PerformanceHintManagerTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; import static org.junit.Assume.assumeNotNull; import android.content.pm.PackageManager; @@ -109,6 +110,7 @@ @Before public void setUp() { + assumeTrue(nativeGetSessionsAreSupported()); mPerformanceHintManager = InstrumentationRegistry.getInstrumentation().getContext().getSystemService( PerformanceHintManager.class); @@ -448,9 +450,9 @@ final String resultMessage = nativeTestReportActualWorkDuration2(); } - private native String nativeTestCreateGraphicsPipelineSession(); - + private native boolean nativeGetSessionsAreSupported(); private native String nativeTestCreateHintSession(); + private native String nativeTestCreateGraphicsPipelineSession(); private native String nativeTestCreateHintSessionUsingConfig(); private native String nativeTestGetMaxGraphicsPipelineThreadsCount(); private native String nativeTestGetPreferredUpdateRateNanos();