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

Commit 09231fb6 authored by Etan Cohen's avatar Etan Cohen
Browse files

[AWARE] Add unit test - fix hashing bug

Adding unit tests to verify hashing code uncovered a bug (hashing
arrays) - fixed.

Bug: 130051430
Test: atest android.net.wifi
Test: atest com.android.server.wifi
Test: ACTS ThroughputTest:test_iperf_single_ndp_aware_only_ib
Change-Id: I4c654dd656b4bd1bce8077c73c66f458d103bc86
parent dd07ae57
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -172,8 +172,9 @@ public final class PublishConfig implements Parcelable {

    @Override
    public int hashCode() {
        return Objects.hash(mServiceName, mServiceSpecificInfo, mMatchFilter, mPublishType, mTtlSec,
                mEnableTerminateNotification, mEnableRanging);
        return Objects.hash(Arrays.hashCode(mServiceName), Arrays.hashCode(mServiceSpecificInfo),
                Arrays.hashCode(mMatchFilter), mPublishType, mTtlSec, mEnableTerminateNotification,
                mEnableRanging);
    }

    /**
+4 −2
Original line number Diff line number Diff line
@@ -205,8 +205,10 @@ public final class SubscribeConfig implements Parcelable {

    @Override
    public int hashCode() {
        int result = Objects.hash(mServiceName, mServiceSpecificInfo, mMatchFilter, mSubscribeType,
                mTtlSec, mEnableTerminateNotification, mMinDistanceMmSet, mMaxDistanceMmSet);
        int result = Objects.hash(Arrays.hashCode(mServiceName),
                Arrays.hashCode(mServiceSpecificInfo), Arrays.hashCode(mMatchFilter),
                mSubscribeType, mTtlSec, mEnableTerminateNotification, mMinDistanceMmSet,
                mMaxDistanceMmSet);

        if (mMinDistanceMmSet) {
            result = Objects.hash(result, mMinDistanceMm);
+1 −1
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ public class WifiAwareManager {

        if (!WifiAwareUtils.isLegacyVersion(mContext, Build.VERSION_CODES.Q)) {
            throw new UnsupportedOperationException(
                    "API not deprecated - use WifiAwareNetworkSpecifier.Builder");
                    "API deprecated - use WifiAwareNetworkSpecifier.Builder");
        }

        if (role != WIFI_AWARE_DATA_PATH_ROLE_INITIATOR
+3 −0
Original line number Diff line number Diff line
@@ -709,6 +709,7 @@ public class WifiAwareManagerTest {
        ConfigRequest rereadConfigRequest = ConfigRequest.CREATOR.createFromParcel(parcelR);

        assertEquals(configRequest, rereadConfigRequest);
        assertEquals(configRequest.hashCode(), rereadConfigRequest.hashCode());
    }

    /*
@@ -801,6 +802,7 @@ public class WifiAwareManagerTest {
        SubscribeConfig rereadSubscribeConfig = SubscribeConfig.CREATOR.createFromParcel(parcelR);

        assertEquals(subscribeConfig, rereadSubscribeConfig);
        assertEquals(subscribeConfig.hashCode(), rereadSubscribeConfig.hashCode());
    }

    @Test(expected = IllegalArgumentException.class)
@@ -892,6 +894,7 @@ public class WifiAwareManagerTest {
        PublishConfig rereadPublishConfig = PublishConfig.CREATOR.createFromParcel(parcelR);

        assertEquals(publishConfig, rereadPublishConfig);
        assertEquals(publishConfig.hashCode(), rereadPublishConfig.hashCode());
    }

    @Test(expected = IllegalArgumentException.class)