summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-03-06 05:37:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-03-06 05:37:27 +0000
commit255b35ea3c9f5e364aa71fc480e8f5462b3a1cec (patch)
tree565d6c304e702211b5044a96151633d50af3d34a
parent796d6fc4f9c58958755c83c5fb8c68d19fd98790 (diff)
parent9ad691d26b42f5dfbe2f87ccf3f756fff1557dba (diff)
downloadtests-255b35ea3c9f5e364aa71fc480e8f5462b3a1cec.tar.gz
Merge changes I7a3642a5,Ieae2f64d,Ibb50fee3,I21fbc0b4 into main
* changes: net-test: skip minLTS test on GSI net-test: minor refactor of kernel_feature_test net-test: print kernel version of kernel which fails test net-test: support /boot/config-$(uname -r)
-rwxr-xr-xnet/test/kernel_feature_test.py34
-rw-r--r--net/test/net_test.py3
2 files changed, 28 insertions, 9 deletions
diff --git a/net/test/kernel_feature_test.py b/net/test/kernel_feature_test.py
index f8b4de0..89269d1 100755
--- a/net/test/kernel_feature_test.py
+++ b/net/test/kernel_feature_test.py
@@ -16,6 +16,7 @@
import errno
import gzip
+import os
from socket import * # pylint: disable=wildcard-import,g-importing-member
import unittest
@@ -27,9 +28,16 @@ class KernelFeatureTest(net_test.NetworkTest):
AID_NET_RAW = 3004
@classmethod
+ def getKernelConfigFile(cls):
+ try:
+ return gzip.open("/proc/config.gz", mode="rt")
+ except FileNotFoundError:
+ return open("/boot/config-" + os.uname()[2], mode="rt")
+
+ @classmethod
def loadKernelConfig(cls):
cls.KCONFIG = {}
- with gzip.open("/proc/config.gz", mode="rt") as f:
+ with cls.getKernelConfigFile() as f:
for line in f:
line = line.strip()
parts = line.split("=")
@@ -43,19 +51,25 @@ class KernelFeatureTest(net_test.NetworkTest):
super(net_test.NetworkTest, cls).setUpClass()
cls.loadKernelConfig()
- def assertFeatureEnabled(self, feature_name):
- return self.assertEqual("y", self.KCONFIG[feature_name])
-
def assertFeatureAbsent(self, feature_name):
return self.assertNotIn(feature_name, self.KCONFIG)
+ def assertFeatureBuiltIn(self, feature_name):
+ return self.assertEqual("y", self.KCONFIG[feature_name])
+
+ def assertFeatureModular(self, feature_name):
+ return self.assertEqual("m", self.KCONFIG[feature_name])
+
+ def assertFeatureEnabled(self, feature_name):
+ return self.assertIn(self.KCONFIG[feature_name], ["m", "y"])
+
def testNetfilterRejectEnabled(self):
"""Verify that CONFIG_IP{,6}_NF_{FILTER,TARGET_REJECT} is enabled."""
- self.assertFeatureEnabled("CONFIG_IP_NF_FILTER")
- self.assertFeatureEnabled("CONFIG_IP_NF_TARGET_REJECT")
+ self.assertFeatureBuiltIn("CONFIG_IP_NF_FILTER")
+ self.assertFeatureBuiltIn("CONFIG_IP_NF_TARGET_REJECT")
- self.assertFeatureEnabled("CONFIG_IP6_NF_FILTER")
- self.assertFeatureEnabled("CONFIG_IP6_NF_TARGET_REJECT")
+ self.assertFeatureBuiltIn("CONFIG_IP6_NF_FILTER")
+ self.assertFeatureBuiltIn("CONFIG_IP6_NF_TARGET_REJECT")
def testRemovedAndroidParanoidNetwork(self):
"""Verify that ANDROID_PARANOID_NETWORK is gone.
@@ -73,12 +87,14 @@ class KernelFeatureTest(net_test.NetworkTest):
with net_test.RunAsUidGid(12345, self.AID_NET_RAW):
self.assertRaisesErrno(errno.EPERM, socket, AF_PACKET, SOCK_RAW, 0)
+ @unittest.skipUnless(not net_test.IS_GSI, "GSI")
def testMinRequiredKernelVersion(self):
self.assertTrue(net_test.KernelAtLeast([(4, 19, 236),
(5, 4, 186),
(5, 10, 199),
(5, 15, 136),
- (6, 1, 57)]))
+ (6, 1, 57)]),
+ "%s [%s] is too old." % (os.uname()[2], os.uname()[4]))
if __name__ == "__main__":
diff --git a/net/test/net_test.py b/net/test/net_test.py
index 5f88a2b..93c3167 100644
--- a/net/test/net_test.py
+++ b/net/test/net_test.py
@@ -96,6 +96,9 @@ KERN_INFO = 6
LINUX_VERSION = csocket.LinuxVersion()
LINUX_ANY_VERSION = (0, 0)
+# From //system/gsid/libgsi.cpp IsGsiRunning()
+IS_GSI = os.access("/metadata/gsi/dsu/booted", os.F_OK)
+
def KernelAtLeast(versions):
"""Checks the kernel version matches the specified versions.