Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8a73c53 authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

Use doIpv6Provisioning in testPref64Option.

This is a simple refactoring to reduce code duplication, and it
shows that it's possible to use doIpv6Provisioning in tests that
also need to place their own expectations on LinkProperties
around provisioning time.

Bug: 152723363
Bug: 153694684
Test: atest NetworkStackNextIntegrationTests:IpClientIntegrationTest#testPref64Option --iterations 100
Change-Id: Iaa3e297e2417d4cdf9393baf27d61657e5743888
parent 962312ad
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -1503,20 +1503,13 @@ public class IpClientIntegrationTest {
        ByteBuffer pref64 = new StructNdOptPref64(prefix, 600).toByteBuffer();
        ByteBuffer ra = buildRaPacket(pio, rdnss, pref64);

        waitForRouterSolicitation();
        mPacketReader.sendResponse(ra);

        // The NAT64 prefix might be detected before or after provisioning success.
        // Don't test order between these two events.
        ArgumentCaptor<LinkProperties> captor = ArgumentCaptor.forClass(LinkProperties.class);
        verifyWithTimeout(null /*inOrder*/, mCb).onProvisioningSuccess(captor.capture());
        LinkProperties lp = doIpv6OnlyProvisioning(null /*inOrder*/, ra);
        expectAlarmSet(null /*inOrder*/, "PREF64", 600);
        reset(mCb, mAlarm);

        // From now on expect events in order.
        InOrder inOrder = inOrder(mCb, mAlarm);

        LinkProperties lp = captor.getValue();
        if (lp.getNat64Prefix() != null) {
            assertEquals(prefix, lp.getNat64Prefix());
        } else {