Do not require the hiddenapi-test-flags argument
Bug: 197127958
Test: atest CtsHiddenApiBlocklistTestApiTestCases CtsHiddenApiBlocklistDebugClassTestCases
Merged-In: I47c454844af8b4797a518a810b17cd4fae49b03b
Change-Id: I47c454844af8b4797a518a810b17cd4fae49b03b
(cherry picked from commit 5f0aa9517ad29dac17a651c728196301fca77664)
diff --git a/tests/signature/api-check/hidden-api-blocklist-test-api/src/android/signature/cts/api/test/HiddenApiTest.java b/tests/signature/api-check/hidden-api-blocklist-test-api/src/android/signature/cts/api/test/HiddenApiTest.java
index 7cefb5c..ffe85fc 100644
--- a/tests/signature/api-check/hidden-api-blocklist-test-api/src/android/signature/cts/api/test/HiddenApiTest.java
+++ b/tests/signature/api-check/hidden-api-blocklist-test-api/src/android/signature/cts/api/test/HiddenApiTest.java
@@ -16,28 +16,14 @@
package android.signature.cts.api.test;
-import android.os.Bundle;
-import android.signature.cts.DexApiDocumentParser;
-import android.signature.cts.DexField;
import android.signature.cts.DexMember;
-import android.signature.cts.DexMemberChecker;
-import android.signature.cts.DexMethod;
-import android.signature.cts.FailureType;
-import android.signature.cts.VirtualPath;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.StandardOpenOption;
-import java.util.EnumSet;
import java.util.Set;
-import java.util.function.Predicate;
-import java.util.stream.Stream;
public class HiddenApiTest extends android.signature.cts.api.HiddenApiTest {
+ /**
+ * Override to match only those members that specify both test-api and blocked.
+ */
@Override
protected boolean shouldTestMember(DexMember member) {
Set<String> flags = member.getHiddenapiFlags();
diff --git a/tests/signature/api-check/src/java/android/signature/cts/api/HiddenApiTest.java b/tests/signature/api-check/src/java/android/signature/cts/api/HiddenApiTest.java
index 6928e38..3b6fec9 100644
--- a/tests/signature/api-check/src/java/android/signature/cts/api/HiddenApiTest.java
+++ b/tests/signature/api-check/src/java/android/signature/cts/api/HiddenApiTest.java
@@ -45,7 +45,7 @@
@Override
protected void initializeFromArgs(Bundle instrumentationArgs) {
hiddenapiFiles = getCommaSeparatedListRequired(instrumentationArgs, "hiddenapi-files");
- hiddenapiTestFlags = getCommaSeparatedListRequired(instrumentationArgs, "hiddenapi-test-flags");
+ hiddenapiTestFlags = getCommaSeparatedListOptional(instrumentationArgs, "hiddenapi-test-flags");
hiddenapiFilterFile = instrumentationArgs.getString("hiddenapi-filter-file");
hiddenapiFilterSet = new HashSet<>();
}
@@ -165,7 +165,15 @@
});
}
+ /**
+ * Determines whether to test the member.
+ *
+ * @param member the member
+ * @return true if the member should be tested, false otherwise.
+ */
protected boolean shouldTestMember(DexMember member) {
+ // Test the member if it supports ANY of the flags specified in the hiddenapi-test-flags
+ // argument.
Set<String> flags = member.getHiddenapiFlags();
for (String testFlag : hiddenapiTestFlags) {
if (flags.contains(testFlag)) {