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

Commit e26d6ebc authored by Xiao Ma's avatar Xiao Ma Committed by Automerger Merge Worker
Browse files

Revert "Revert "Test IPv6ProvisioningLossParcelable in the...

Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes""" am: 42c643a2 am: 1145cdce

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460264

Change-Id: Ie6b10f73ac6508b83e240e74a215edbe58901be3
parents 84aa44d2 1145cdce
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package android.net.ipmemorystore;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import android.net.quirks.IPv6ProvisioningLossQuirk;
import android.net.quirks.IPv6ProvisioningLossQuirkParcelable;
import android.os.Parcel;
import android.os.Parcelable;

@@ -46,7 +48,7 @@ public class ParcelableTests {
        builder.setAssignedV4Address((Inet4Address) Inet4Address.getByName("1.2.3.4"));
        // lease will expire in two hours
        builder.setAssignedV4AddressExpiry(System.currentTimeMillis() + 7_200_000);
        // groupHint stays null this time around
        // cluster stays null this time around
        builder.setDnsAddresses(Collections.emptyList());
        builder.setMtu(18);
        in = builder.build();
@@ -69,7 +71,7 @@ public class ParcelableTests {
        // Verify that this test does not miss any new field added later.
        // If any field is added to NetworkAttributes it must be tested here for parceling
        // roundtrip.
        assertEquals(5, Arrays.stream(NetworkAttributes.class.getDeclaredFields())
        assertEquals(6, Arrays.stream(NetworkAttributes.class.getDeclaredFields())
                .filter(f -> !Modifier.isStatic(f.getModifiers())).count());
    }

@@ -104,6 +106,22 @@ public class ParcelableTests {
        assertEquals(in.confidence, out.confidence, 0.01f /* delta */);
    }

    @Test
    public void testIPv6ProvisioningLossQuirkParceling() throws Exception {
        final NetworkAttributes.Builder builder = new NetworkAttributes.Builder();
        final IPv6ProvisioningLossQuirkParcelable parcelable =
                new IPv6ProvisioningLossQuirkParcelable();
        final long expiry = System.currentTimeMillis() + 7_200_000;

        parcelable.detectionCount = 3;
        parcelable.quirkExpiry = expiry; // quirk info will expire in two hours
        builder.setIpv6ProvLossQuirk(IPv6ProvisioningLossQuirk.fromStableParcelable(parcelable));
        final NetworkAttributes in = builder.build();

        final NetworkAttributes out = new NetworkAttributes(parcelingRoundTrip(in.toParcelable()));
        assertEquals(out.ipv6ProvLossQuirk, in.ipv6ProvLossQuirk);
    }

    private <T extends Parcelable> T parcelingRoundTrip(final T in) throws Exception {
        final Parcel p = Parcel.obtain();
        in.writeToParcel(p, /* flags */ 0);
+4 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.net.ipmemorystore;
import static org.junit.Assert.assertEquals;

import android.net.ipmemorystore.NetworkAttributes;
import android.net.quirks.IPv6ProvisioningLossQuirk;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
@@ -52,6 +53,8 @@ public class NetworkAttributesTest {
        }
        assertEquals(sum, NetworkAttributes.TOTAL_WEIGHT, EPSILON);

        final IPv6ProvisioningLossQuirk ipv6ProvLossQuirk =
                new IPv6ProvisioningLossQuirk(3, System.currentTimeMillis() + 7_200_000);
        // Use directly the constructor with all attributes, and make sure that when compared
        // to itself the score is a clean 1.0f.
        final NetworkAttributes na =
@@ -61,7 +64,7 @@ public class NetworkAttributesTest {
                        "some hint",
                        Arrays.asList(Inet4Address.getByAddress(new byte[] {5, 6, 7, 8}),
                                Inet4Address.getByAddress(new byte[] {9, 0, 1, 2})),
                        98);
                        98, ipv6ProvLossQuirk);
        assertEquals(1.0f, na.getNetworkGroupSamenessConfidence(na), EPSILON);
    }
}