From b4d1e75085ff439b105eea992b2adb08dda72c78 Mon Sep 17 00:00:00 2001 From: qianyou Date: Tue, 26 Nov 2019 19:52:59 +0800 Subject: [PATCH] fix the problem that testNetworkSettingsPermission case can not detect all apps whose holding the NETWORK_SETTINGS permission This test case stop when detect a app failure once a time, which cannot find out all app failure. Use StringBuilder to collect failure info of all apps first, if the StringBuilder is not empty then print all the failure info. Bug:145475188 Test: run cts -m CtsNetTestCases -t android.net.wifi.cts.WifiManagerTest#testNetworkSettingsPermission Change-Id: I0e49b65bbe7deca82edd1908dfb6f221551ff725 Signed-off-by: qianyou (cherry picked from commit dcb3a18cbf81f2970d6c3b23a478da5b4ba91805) --- .../net/src/android/net/wifi/cts/WifiManagerTest.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java index 3e4776465f..5b8a8d5cc4 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -49,6 +49,7 @@ import androidx.test.InstrumentationRegistry; import com.android.compatibility.common.util.SystemUtil; +import java.lang.StringBuilder; import java.net.HttpURLConnection; import java.net.URL; import java.security.MessageDigest; @@ -770,6 +771,7 @@ public class WifiManagerTest extends AndroidTestCase { final List holding = pm.getPackagesHoldingPermissions(new String[] { android.Manifest.permission.NETWORK_SETTINGS }, PackageManager.MATCH_UNINSTALLED_PACKAGES); + StringBuilder stringBuilder = new StringBuilder(); for (PackageInfo pi : holding) { String packageName = pi.packageName; @@ -784,10 +786,13 @@ public class WifiManagerTest extends AndroidTestCase { continue; } if (!allowedUIDs.contains(uid)) { - fail("The NETWORK_SETTINGS permission must not be held by " + packageName - + ":" + uid + " and must be revoked for security reasons"); + stringBuilder.append("The NETWORK_SETTINGS permission must not be held by " + + packageName + ":" + uid + " and must be revoked for security reasons\n"); } } + if (stringBuilder.length() > 0) { + fail(stringBuilder.toString()); + } } /**