summaryrefslogtreecommitdiff
path: root/scripts/system
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-01-24 17:22:12 +0100
committerChristian Poessinger <christian@poessinger.com>2020-01-24 17:22:12 +0100
commitebb6bfc751bc65b8a99d7f176c753c938846e257 (patch)
tree6917ce3ea50664da6c926bc4a56c75dbdc4b4d83 /scripts/system
parentef2cd3db3faafb209189f14dd3762587e31affe9 (diff)
downloadvyos-1x-ebb6bfc751bc65b8a99d7f176c753c938846e257.tar.gz
vyos-1x-ebb6bfc751bc65b8a99d7f176c753c938846e257.zip
kernel: migrate module load test to unittest framework
Diffstat (limited to 'scripts/system')
-rwxr-xr-xscripts/system/test_module_load.py55
1 files changed, 33 insertions, 22 deletions
diff --git a/scripts/system/test_module_load.py b/scripts/system/test_module_load.py
index c96229b92..598ea9882 100755
--- a/scripts/system/test_module_load.py
+++ b/scripts/system/test_module_load.py
@@ -1,31 +1,42 @@
#!/usr/bin/env python3
+#
+# Copyright (C) 2019-2020 VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# 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 sys
import os
+import unittest
modules = {
- "intel": ["e1000", "e1000e", "igb", "ixgb", "ixgbe", "ixgbevf", "i40e", "i40evf"],
- "accel_ppp": ["ipoe"],
- "misc": ["wireguard"]
+ "intel": ["e1000", "e1000e", "igb", "ixgb", "ixgbe", "ixgbevf", "i40e", "i40evf"],
+ "accel_ppp": ["ipoe", "vlan_mon"],
+ "misc": ["wireguard"]
}
-if __name__ == '__main__':
- success = True
+class TestKernelModules(unittest.TestCase):
+ def test_load_modules(self):
+ success = True
+ for msk in modules:
+ 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))
+ except:
+ success = False
- print("[load modules] Test execution started")
- for msk in modules:
- 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))
- except Exception as e:
- print("[load modules] Test [modprobe {0}] failed: {1}".format(module, e))
- success = False
+ self.assertTrue(success)
- if not success:
- print("Test [load modules] failed")
- sys.exit(1)
- else:
- print("[load modules] Test succeeded")
+if __name__ == '__main__':
+ unittest.main()