From 518999df341efab74595eacab2b1ca2905858ad8 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Thu, 7 Sep 2017 15:36:08 -0700 Subject: [PATCH] Add extra logging when the test fails. When the test fails, dump network_management and netpolicy services to help in debugging. Bug: 64274313 Test: cts-tradefed run singleCommand cts-dev -m CtsHostsideNetworkTests \ -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests Change-Id: I76287de2c7cd6f394af9768a69e2c0fabba3be25 --- ...ractRestrictBackgroundNetworkTestCase.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java index e65db3197f..5eaf31b767 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java @@ -387,10 +387,34 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation // Exponential back-off. timeoutMs = Math.min(timeoutMs*2, NETWORK_TIMEOUT_MS); } + dumpAllNetworkRules(); fail("Invalid state for expectAvailable=" + expectAvailable + " after " + maxTries + " attempts.\nLast error: " + error); } + private void dumpAllNetworkRules() throws Exception { + final String networkManagementDump = runShellCommand(mInstrumentation, + "dumpsys network_management").trim(); + final String networkPolicyDump = runShellCommand(mInstrumentation, + "dumpsys netpolicy").trim(); + TextUtils.SimpleStringSplitter splitter = new TextUtils.SimpleStringSplitter('\n'); + splitter.setString(networkManagementDump); + String next; + Log.d(TAG, ">>> Begin network_management dump"); + while (splitter.hasNext()) { + next = splitter.next(); + Log.d(TAG, next); + } + Log.d(TAG, "<<< End network_management dump"); + splitter.setString(networkPolicyDump); + Log.d(TAG, ">>> Begin netpolicy dump"); + while (splitter.hasNext()) { + next = splitter.next(); + Log.d(TAG, next); + } + Log.d(TAG, "<<< End netpolicy dump"); + } + /** * Checks whether the network is available as expected. *