summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2024-02-28 20:32:21 +0000
committerMaciej Żenczykowski <maze@google.com>2024-02-28 20:36:02 +0000
commit653bbf03b8429620f457e062d3a3c156fdcad5f2 (patch)
tree1d6cb9d3b335e55c0a0e95aadb48703bc0eb8a8a
parentb75cc34c0c83f05ca8aed91e17732a0a06afaf34 (diff)
downloadnetd-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.cpp44
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.";