1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/usr/bin/env python3
- import common
- import lkmc.import_path
- from shell_helpers import LF
- class Main(common.TestCliFunction):
- def __init__(self):
- super().__init__(
- description='''\
- https://cirosantilli.com/linux-kernel-module-cheat#automated-tests
- '''
- )
- self.add_argument(
- '--size',
- default=1,
- type=int,
- help='''\
- Size of the tests to run. Scale:
- * 1: a few seconds and important
- * 2: < 5 minutes and important or a few seconds and not too important
- * 3: all
- '''
- )
- def timed_main(self):
- run_args = self.get_common_args()
- test_boot_args = run_args.copy()
- test_boot_args['size'] = self.env['size']
- self.run_test(lkmc.import_path.import_path_main('test-boot'), test_boot_args, 'test-boot')
- self.run_test(lkmc.import_path.import_path_main('test-userland-full-system'), run_args, 'test-userland')
- self.run_test(lkmc.import_path.import_path_main('test-executables'), {**run_args, **{'mode': 'baremetal'}}, 'test-executables-baremetal')
- self.run_test(lkmc.import_path.import_path_main('test-executables'), run_args, 'test-executables-userland')
- self.run_test(lkmc.import_path.import_path_main('test-gdb'), run_args, 'test-gdb')
- if self.env['emulator'] == 'gem5':
- gem5_unit_test_args = run_args.copy()
- gem5_unit_test_args['unit_tests'] = True
- self.run_test(lkmc.import_path.import_path_main('build-gem5'), gem5_unit_test_args, 'gem5-unit-tests')
- if __name__ == '__main__':
- Main().cli()
|