Add CTS for SocketUtils.makePacketSocketAddress(int, int, byte[])

Bug: 149426063
Bug: 150640362
Test: atest CtsNetTestCasesLatestSdk:android.net.util.SocketUtilsTest
      on both Q and R devices
Change-Id: I4b5a3dfb78b404d414b7dc358e6f16c3414a8b33
Merged-In: I4b5a3dfb78b404d414b7dc358e6f16c3414a8b33
(cherry picked from aosp/1243868)
This commit is contained in:
Automerger Merge Worker
2020-03-11 11:14:59 +00:00
committed by Paul Hu
parent 10736d2107
commit 1494a56ecf

View File

@@ -14,8 +14,9 @@
* limitations under the License.
*/
package android.net.util;
package android.net.util
import android.os.Build
import android.system.NetlinkSocketAddress
import android.system.Os
import android.system.OsConstants.AF_INET
@@ -26,18 +27,26 @@ import android.system.OsConstants.SOCK_DGRAM
import android.system.PacketSocketAddress
import androidx.test.filters.SmallTest
import androidx.test.runner.AndroidJUnit4
import com.android.testutils.DevSdkIgnoreRule
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
private const val TEST_INDEX = 123
private const val TEST_PORT = 555
private const val FF_BYTE = 0xff.toByte()
@RunWith(AndroidJUnit4::class)
@SmallTest
class SocketUtilsTest {
@Rule @JvmField
val ignoreRule = DevSdkIgnoreRule()
@Test
fun testMakeNetlinkSocketAddress() {
val nlAddress = SocketUtils.makeNetlinkSocketAddress(TEST_PORT, RTMGRP_NEIGH)
@@ -50,16 +59,21 @@ class SocketUtilsTest {
}
@Test
fun testMakePacketSocketAddress() {
fun testMakePacketSocketAddress_Q() {
val pkAddress = SocketUtils.makePacketSocketAddress(ETH_P_ALL, TEST_INDEX)
assertTrue("Not PacketSocketAddress object", pkAddress is PacketSocketAddress)
val ff = 0xff.toByte()
val pkAddress2 = SocketUtils.makePacketSocketAddress(TEST_INDEX,
byteArrayOf(ff, ff, ff, ff, ff, ff))
val pkAddress2 = SocketUtils.makePacketSocketAddress(TEST_INDEX, ByteArray(6) { FF_BYTE })
assertTrue("Not PacketSocketAddress object", pkAddress2 is PacketSocketAddress)
}
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
fun testMakePacketSocketAddress() {
val pkAddress = SocketUtils.makePacketSocketAddress(
ETH_P_ALL, TEST_INDEX, ByteArray(6) { FF_BYTE })
assertTrue("Not PacketSocketAddress object", pkAddress is PacketSocketAddress)
}
@Test
fun testCloseSocket() {
// Expect no exception happening with null object.