diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-03-06 05:37:27 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-06 05:37:27 +0000 |
commit | 255b35ea3c9f5e364aa71fc480e8f5462b3a1cec (patch) | |
tree | 565d6c304e702211b5044a96151633d50af3d34a | |
parent | 796d6fc4f9c58958755c83c5fb8c68d19fd98790 (diff) | |
parent | 9ad691d26b42f5dfbe2f87ccf3f756fff1557dba (diff) | |
download | tests-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-x | net/test/kernel_feature_test.py | 34 | ||||
-rw-r--r-- | net/test/net_test.py | 3 |
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. |