kernel_test: enforce minimum LTS versions am: 653bbf03b8

Original change: https://android-review.googlesource.com/c/platform/system/netd/+/2983131

Change-Id: Iba2c8a313e4722852936bfc5867d51baa14daee6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/tests/kernel_test.cpp b/tests/kernel_test.cpp
index 6de12ab..b42b7aa 100644
--- a/tests/kernel_test.cpp
+++ b/tests/kernel_test.cpp
@@ -103,6 +103,50 @@
     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.";