diff options
author | Maciej Żenczykowski <maze@google.com> | 2024-02-28 20:32:21 +0000 |
---|---|---|
committer | Maciej Żenczykowski <maze@google.com> | 2024-02-28 20:36:02 +0000 |
commit | 653bbf03b8429620f457e062d3a3c156fdcad5f2 (patch) | |
tree | 1d6cb9d3b335e55c0a0e95aadb48703bc0eb8a8a | |
parent | b75cc34c0c83f05ca8aed91e17732a0a06afaf34 (diff) | |
download | netd-653bbf03b8429620f457e062d3a3c156fdcad5f2.tar.gz |
kernel_test: enforce minimum LTS versions
(this is part of 'netd_integration_test' in VTS)
see aosp/2970616 for reasoning:
This is driven by the desire to correctly support
- XFRM_MIGRATE, which requires 4.19.236+ 5.4.186+ 5.10.107+ 5.15.30+
see xfrm_tunnel_test.py:55 HasXfrmMigrateFixes()
- IPV6 UDP ENCAP, which requires 5.10.108+ 5.15.31+
see xfrm_test.py:488 testIPv6UDPEncapRecvTransport() & testIPv6UDPEncapRecvTunnel()
- ACCEPT_MIN_RA_LFT, which requires 5.10.199+ 5.15.136+ 6.1.57+
see multinetwork_base.py:61 HAVE_ACCEPT_RA_MIN_LFT
Bug: 325828213
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2ac2795208be37dfe45e17f8293c1b5a0c103e30
-rw-r--r-- | tests/kernel_test.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/kernel_test.cpp b/tests/kernel_test.cpp index 6de12ab5..b42b7aa0 100644 --- a/tests/kernel_test.cpp +++ b/tests/kernel_test.cpp @@ -103,6 +103,50 @@ TEST(KernelTest, TestKernel419) { ASSERT_TRUE(bpf::isAtLeastKernelVersion(4, 19, 0)); } +static bool isKernel(unsigned major, unsigned minor) { + return bpf::isAtLeastKernelVersion(major, minor, 0) + && !bpf::isAtLeastKernelVersion(major, minor + 1, 0); +} + +TEST(KernelTest, TestIsLTS) { + ASSERT_TRUE( + isKernel(4, 19) || + isKernel(5, 4) || + isKernel(5, 10) || + isKernel(5, 15) || + isKernel(6, 1) || + isKernel(6, 6)); +} + +static bool ifIsKernelThenMinLTS(unsigned major, unsigned minor, unsigned sub) { + if (!isKernel(major, minor)) return true; + return bpf::isAtLeastKernelVersion(major, minor, sub); +} + +TEST(KernelTest, TestMinRequiredLTS_4_19) { + ASSERT_TRUE(ifIsKernelThenMinLTS(4, 19, 236)); +} + +TEST(KernelTest, TestMinRequiredLTS_5_4) { + ASSERT_TRUE(ifIsKernelThenMinLTS(5, 4, 186)); +} + +TEST(KernelTest, TestMinRequiredLTS_5_10) { + ASSERT_TRUE(ifIsKernelThenMinLTS(5, 10, 199)); +} + +TEST(KernelTest, TestMinRequiredLTS_5_15) { + ASSERT_TRUE(ifIsKernelThenMinLTS(5, 15, 136)); +} + +TEST(KernelTest, TestMinRequiredLTS_6_1) { + ASSERT_TRUE(ifIsKernelThenMinLTS(6, 1, 57)); +} + +TEST(KernelTest, TestMinRequiredLTS_6_6) { + ASSERT_TRUE(ifIsKernelThenMinLTS(6, 6, 0)); +} + TEST(KernelTest, TestSupportsCommonUsbEthernetDongles) { KernelConfigVerifier configVerifier; if (!configVerifier.hasModule("CONFIG_USB")) GTEST_SKIP() << "Exempt without USB support."; |