From a6981669c4e2707bcfb3db001e262b2da4bb9c17 Mon Sep 17 00:00:00 2001 From: Hugo Benichi Date: Mon, 26 Jun 2017 10:06:49 +0900 Subject: [PATCH] ConnectivityServiceTest: more informative assert failures Bug: 62918393 Test: runtest frameworks-net Change-Id: I90c211dc6d6262475924ecabc2863c47aec5a0b9 --- .../server/ConnectivityServiceTest.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 953bb00f6b42..dda260168201 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -897,7 +897,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertNull(mCm.getActiveNetwork()); assertNull(mCm.getActiveNetworkForUid(Process.myUid())); // Test getAllNetworks() - assertEquals(0, mCm.getAllNetworks().length); + assertEmpty(mCm.getAllNetworks()); } /** @@ -938,7 +938,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mCellNetworkAgent.connect(true); waitFor(cv); verifyActiveNetwork(TRANSPORT_CELLULAR); - assertEquals(2, mCm.getAllNetworks().length); + assertLength(2, mCm.getAllNetworks()); assertTrue(mCm.getAllNetworks()[0].equals(mCm.getActiveNetwork()) || mCm.getAllNetworks()[1].equals(mCm.getActiveNetwork())); assertTrue(mCm.getAllNetworks()[0].equals(mWiFiNetworkAgent.getNetwork()) || @@ -948,7 +948,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mWiFiNetworkAgent.connect(true); waitFor(cv); verifyActiveNetwork(TRANSPORT_WIFI); - assertEquals(2, mCm.getAllNetworks().length); + assertLength(2, mCm.getAllNetworks()); assertTrue(mCm.getAllNetworks()[0].equals(mCm.getActiveNetwork()) || mCm.getAllNetworks()[1].equals(mCm.getActiveNetwork())); assertTrue(mCm.getAllNetworks()[0].equals(mCellNetworkAgent.getNetwork()) || @@ -956,9 +956,9 @@ public class ConnectivityServiceTest extends AndroidTestCase { // Test cellular linger timeout. waitFor(mCellNetworkAgent.getDisconnectedCV()); waitForIdle(); - assertEquals(1, mCm.getAllNetworks().length); + assertLength(1, mCm.getAllNetworks()); verifyActiveNetwork(TRANSPORT_WIFI); - assertEquals(1, mCm.getAllNetworks().length); + assertLength(1, mCm.getAllNetworks()); assertEquals(mCm.getAllNetworks()[0], mCm.getActiveNetwork()); // Test WiFi disconnect. cv = waitForConnectivityBroadcasts(1); @@ -1898,7 +1898,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { mCellNetworkAgent.connectWithoutInternet(); waitFor(cv); waitForIdle(); - assertEquals(0, mCm.getAllNetworks().length); + assertEmpty(mCm.getAllNetworks()); verifyNoNetwork(); // Test bringing up validated WiFi. @@ -2572,7 +2572,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertTrue(testFactory.getMyStartRequested()); // Bring up cell data and check that the factory stops looking. - assertEquals(1, mCm.getAllNetworks().length); + assertLength(1, mCm.getAllNetworks()); mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR); testFactory.expectAddRequests(2); // Because the cell request changes score twice. mCellNetworkAgent.connect(true); @@ -2583,7 +2583,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { // Check that cell data stays up. waitForIdle(); verifyActiveNetwork(TRANSPORT_WIFI); - assertEquals(2, mCm.getAllNetworks().length); + assertLength(2, mCm.getAllNetworks()); // Turn off mobile data always on and expect the request to disappear... testFactory.expectRemoveRequests(1); @@ -2592,7 +2592,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { // ... and cell data to be torn down. cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent); - assertEquals(1, mCm.getAllNetworks().length); + assertLength(1, mCm.getAllNetworks()); testFactory.unregister(); mCm.unregisterNetworkCallback(cellNetworkCallback); @@ -3297,7 +3297,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertNull(mCm.getActiveNetworkInfo()); Network[] allNetworks = mCm.getAllNetworks(); - assertEquals(1, allNetworks.length); + assertLength(1, allNetworks); Network network = allNetworks[0]; NetworkCapabilities capabilities = mCm.getNetworkCapabilities(network); assertTrue(capabilities.hasTransport(TRANSPORT_LOWPAN)); @@ -3315,7 +3315,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertNull(mCm.getActiveNetwork()); // TODO: getAllNetworkInfo is dirty and returns a non-empty array rght from the start // of this test. Fix it and uncomment the assert below. - //assertEquals(0, mCm.getAllNetworkInfo().length); + //assertEmpty(mCm.getAllNetworkInfo()); // Disconnect lowpan. lowpanNetwork.disconnect(); @@ -3361,6 +3361,17 @@ public class ConnectivityServiceTest extends AndroidTestCase { } } + private static void assertEmpty(T[] ts) { + int length = ts.length; + assertEquals("expected empty array, but length was " + length, 0, length); + } + + private static void assertLength(int expected, T[] got) { + int length = got.length; + assertEquals(String.format("expected array of length %s, but length was %s for %s", + expected, length, Arrays.toString(got)), expected, length); + } + /* test utilities */ // TODO: eliminate all usages of sleepFor and replace by proper timeouts/waitForIdle. static private void sleepFor(int ms) { -- GitLab