Minimal support for IPv6 upstreams in IpServer tests.

This makes the IpServer tests a bit more realistic. It is needed
by an upcoming change that adds new functionality, and is in its
own commit because it modifies the behaviour of all the existing
tests.

Test: atest TetheringTests
Change-Id: I8c3267bea983d1453c010b7b6b85548b9481a153
This commit is contained in:
Lorenzo Colitti
2020-02-19 18:23:49 +09:00
parent 195fc89155
commit c77639ef54

View File

@@ -158,7 +158,9 @@ public class IpServerTest {
initStateMachine(interfaceType, usingLegacyDhcp);
dispatchCommand(IpServer.CMD_TETHER_REQUESTED, STATE_TETHERED);
if (upstreamIface != null) {
dispatchTetherConnectionChanged(upstreamIface);
LinkProperties lp = new LinkProperties();
lp.setInterfaceName(upstreamIface);
dispatchTetherConnectionChanged(upstreamIface, lp);
}
reset(mNetd, mCallback);
}
@@ -508,13 +510,21 @@ public class IpServerTest {
*
* @see #dispatchCommand(int)
* @param upstreamIface String name of upstream interface (or null)
* @param v6lp IPv6 LinkProperties of the upstream interface, or null for an IPv4-only upstream.
*/
private void dispatchTetherConnectionChanged(String upstreamIface) {
private void dispatchTetherConnectionChanged(String upstreamIface, LinkProperties v6lp) {
mIpServer.sendMessage(IpServer.CMD_TETHER_CONNECTION_CHANGED,
new InterfaceSet(upstreamIface));
if (v6lp != null) {
mIpServer.sendMessage(IpServer.CMD_IPV6_TETHER_UPDATE, v6lp);
}
mLooper.dispatchAll();
}
private void dispatchTetherConnectionChanged(String upstreamIface) {
dispatchTetherConnectionChanged(upstreamIface, null);
}
private void assertIPv4AddressAndDirectlyConnectedRoute(LinkProperties lp) {
// Find the first IPv4 LinkAddress.
LinkAddress addr4 = null;