Merge changes If13254d4,I2424bd4f

* changes:
  Sendcallback when setting eth interface up
  ethernet: add test for enable/disable interface
This commit is contained in:
Patrick Rohr
2022-07-22 14:44:34 +00:00
committed by Gerrit Code Review
3 changed files with 27 additions and 7 deletions

View File

@@ -649,13 +649,12 @@ public class EthernetNetworkFactory {
if (!up) { // was up, goes down if (!up) { // was up, goes down
// retract network offer and stop IpClient. // retract network offer and stop IpClient.
unregisterNetworkOfferAndStop(); unregisterNetworkOfferAndStop();
// If only setting the interface down, send a callback to signal completion.
EthernetNetworkFactory.maybeSendNetworkManagementCallback(listener, name, null);
} else { // was down, goes up } else { // was down, goes up
// register network offer // register network offer
registerNetworkOffer(); registerNetworkOffer();
} }
EthernetNetworkFactory.maybeSendNetworkManagementCallback(listener, name, null);
return true; return true;
} }

View File

@@ -718,4 +718,18 @@ class EthernetManagerTest {
releaseTetheredInterface() releaseTetheredInterface()
listener.assertNoCallback() listener.assertNoCallback()
} }
@Test
fun testEnableDisableInterface_withActiveRequest() {
val iface = createInterface()
val cb = requestNetwork(ETH_REQUEST)
cb.expectAvailable()
cb.assertNeverLost()
disableInterface(iface).expectResult(iface.name)
cb.eventuallyExpectLost()
enableInterface(iface).expectResult(iface.name)
cb.expectAvailable()
}
} }

View File

@@ -320,14 +320,21 @@ public class EthernetNetworkFactoryTest {
public void testUpdateInterfaceLinkStateForProvisionedInterface() throws Exception { public void testUpdateInterfaceLinkStateForProvisionedInterface() throws Exception {
initEthernetNetworkFactory(); initEthernetNetworkFactory();
createAndVerifyProvisionedInterface(TEST_IFACE); createAndVerifyProvisionedInterface(TEST_IFACE);
final TestNetworkManagementListener listener = new TestNetworkManagementListener(); final TestNetworkManagementListener listenerDown = new TestNetworkManagementListener();
final TestNetworkManagementListener listenerUp = new TestNetworkManagementListener();
final boolean ret = final boolean retDown =
mNetFactory.updateInterfaceLinkState(TEST_IFACE, false /* up */, listener); mNetFactory.updateInterfaceLinkState(TEST_IFACE, false /* up */, listenerDown);
assertTrue(ret); assertTrue(retDown);
verifyStop(); verifyStop();
assertEquals(listener.expectOnResult(), TEST_IFACE); assertEquals(listenerDown.expectOnResult(), TEST_IFACE);
final boolean retUp =
mNetFactory.updateInterfaceLinkState(TEST_IFACE, true /* up */, listenerUp);
assertTrue(retUp);
assertEquals(listenerUp.expectOnResult(), TEST_IFACE);
} }
@Test @Test