From 837929297855034e4bea339ae5081c68daa4d6cb Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sat, 17 Apr 2021 19:02:20 +0200
Subject: smoketest: kernel-modules: fail hard if module is unloadable

---
 smoketest/scripts/system/test_module_load.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/smoketest/scripts/system/test_module_load.py b/smoketest/scripts/system/test_module_load.py
index c781e0199..76a41ac4d 100755
--- a/smoketest/scripts/system/test_module_load.py
+++ b/smoketest/scripts/system/test_module_load.py
@@ -14,12 +14,15 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import os
 import unittest
+from vyos.util import cmd
 
 modules = {
-    "intel": ["e1000", "e1000e", "igb", "ixgb", "ixgbe", "ixgbevf", "i40e", "i40evf", "iavf"],
-    "intel_qat": ["qat_c3xxx", "qat_c3xxxvf", "qat_c62x", "qat_c62xvf", "qat_d15xx", "qat_d15xxvf", "qat_dh895xcc", "qat_dh895xccvf", "usdm_drv"],
+    "intel": ["e1000", "e1000e", "igb", "ixgb", "ixgbe", "ixgbevf", "i40e",
+              "i40evf", "iavf"],
+    "intel_qat": ["qat_200xx", "qat_200xxvf", "qat_c3xxx", "qat_c3xxxvf",
+                  "qat_c62x", "qat_c62xvf", "qat_d15xx", "qat_d15xxvf",
+                  "qat_dh895xcc", "qat_dh895xccvf"],
     "accel_ppp": ["ipoe", "vlan_mon"],
     "misc": ["wireguard"]
 }
@@ -27,17 +30,20 @@ modules = {
 class TestKernelModules(unittest.TestCase):
     def test_load_modules(self):
         success = True
+        not_found = []
         for msk in modules:
+            not_found = []
             ms = modules[msk]
             for m in ms:
                 # We want to uncover all modules that fail,
                 # not fail at the first one
                 try:
-                    os.system("modprobe {0}".format(m))
+                    cmd(f'modprobe {m}')
                 except:
                     success = False
+                    not_found.append(m)
 
-            self.assertTrue(success)
+            self.assertTrue(success, 'One or more modules not found: ' + ', '.join(not_found))
 
 if __name__ == '__main__':
     unittest.main(verbosity=2)
-- 
cgit v1.2.3