diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-01-24 17:22:12 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-01-24 17:22:12 +0100 |
commit | ebb6bfc751bc65b8a99d7f176c753c938846e257 (patch) | |
tree | 6917ce3ea50664da6c926bc4a56c75dbdc4b4d83 /scripts | |
parent | ef2cd3db3faafb209189f14dd3762587e31affe9 (diff) | |
download | vyos-1x-ebb6bfc751bc65b8a99d7f176c753c938846e257.tar.gz vyos-1x-ebb6bfc751bc65b8a99d7f176c753c938846e257.zip |
kernel: migrate module load test to unittest framework
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/system/test_module_load.py | 55 |
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() |