Merge "Add test for cgroup bpf program status" into main
This commit is contained in:
@@ -45,6 +45,7 @@ android_test {
|
|||||||
// order-dependent setup.
|
// order-dependent setup.
|
||||||
"NetworkStackApiStableLib",
|
"NetworkStackApiStableLib",
|
||||||
"androidx.test.ext.junit",
|
"androidx.test.ext.junit",
|
||||||
|
"compatibility-device-util-axt",
|
||||||
"frameworks-net-integration-testutils",
|
"frameworks-net-integration-testutils",
|
||||||
"kotlin-reflect",
|
"kotlin-reflect",
|
||||||
"mockito-target-extended-minus-junit4",
|
"mockito-target-extended-minus-junit4",
|
||||||
|
|||||||
@@ -40,11 +40,14 @@ import android.os.ConditionVariable
|
|||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
import android.os.SystemConfigManager
|
import android.os.SystemConfigManager
|
||||||
import android.os.UserHandle
|
import android.os.UserHandle
|
||||||
|
import android.os.VintfRuntimeInfo
|
||||||
import android.testing.TestableContext
|
import android.testing.TestableContext
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
|
import com.android.compatibility.common.util.SystemUtil
|
||||||
import com.android.connectivity.resources.R
|
import com.android.connectivity.resources.R
|
||||||
|
import com.android.net.module.util.BpfUtils
|
||||||
import com.android.server.BpfNetMaps
|
import com.android.server.BpfNetMaps
|
||||||
import com.android.server.ConnectivityService
|
import com.android.server.ConnectivityService
|
||||||
import com.android.server.NetworkAgentWrapper
|
import com.android.server.NetworkAgentWrapper
|
||||||
@@ -53,6 +56,7 @@ import com.android.server.connectivity.ConnectivityResources
|
|||||||
import com.android.server.connectivity.MockableSystemProperties
|
import com.android.server.connectivity.MockableSystemProperties
|
||||||
import com.android.server.connectivity.MultinetworkPolicyTracker
|
import com.android.server.connectivity.MultinetworkPolicyTracker
|
||||||
import com.android.server.connectivity.ProxyTracker
|
import com.android.server.connectivity.ProxyTracker
|
||||||
|
import com.android.testutils.DeviceInfoUtils
|
||||||
import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged
|
import com.android.testutils.RecorderCallback.CallbackEntry.LinkPropertiesChanged
|
||||||
import com.android.testutils.TestableNetworkCallback
|
import com.android.testutils.TestableNetworkCallback
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
@@ -60,6 +64,7 @@ import kotlin.test.assertNotNull
|
|||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
import kotlin.test.fail
|
import kotlin.test.fail
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
|
import org.junit.Assume
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.BeforeClass
|
import org.junit.BeforeClass
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
@@ -302,4 +307,25 @@ class ConnectivityServiceIntegrationTest {
|
|||||||
!it.hasCapability(NET_CAPABILITY_VALIDATED)
|
!it.hasCapability(NET_CAPABILITY_VALIDATED)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun isBpfGetCgroupProgramIdSupportedByKernel(): Boolean {
|
||||||
|
val kVersionString = VintfRuntimeInfo.getKernelVersion()
|
||||||
|
return DeviceInfoUtils.compareMajorMinorVersion(kVersionString, "4.19") >= 0
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testBpfProgramAttachStatus() {
|
||||||
|
Assume.assumeTrue(isBpfGetCgroupProgramIdSupportedByKernel())
|
||||||
|
|
||||||
|
listOf(
|
||||||
|
BpfUtils.BPF_CGROUP_INET_INGRESS,
|
||||||
|
BpfUtils.BPF_CGROUP_INET_EGRESS,
|
||||||
|
BpfUtils.BPF_CGROUP_INET_SOCK_CREATE
|
||||||
|
).forEach {
|
||||||
|
val ret = SystemUtil.runShellCommand(InstrumentationRegistry.getInstrumentation(),
|
||||||
|
"cmd connectivity bpf-get-cgroup-program-id $it").trim()
|
||||||
|
|
||||||
|
assertTrue(Integer.parseInt(ret) > 0, "Unexpected output $ret for type $it")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user