mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-13 20:12:26 +00:00
I was considering setting --static by default to match gem5, but then that breaks shared libraries like openblas... so let's just use the ugly workaround for now as it seems to work...
60 lines
1.6 KiB
Python
Executable File
60 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import sys
|
|
|
|
import common
|
|
|
|
class Main(common.TestCliFunction):
|
|
def __init__(self):
|
|
super().__init__(
|
|
description='''\
|
|
https://github.com/cirosantilli/linux-kernel-module-cheat#user-mode-tests
|
|
'''
|
|
)
|
|
self.add_argument(
|
|
'tests',
|
|
nargs='*',
|
|
help='''\
|
|
If given, run only the given tests. Otherwise, run all tests.
|
|
'''
|
|
)
|
|
|
|
def timed_main(self):
|
|
run = self.import_path_main('run')
|
|
run_args = self.get_common_args()
|
|
run_args['ctrl_c_host'] = True
|
|
if self.env['emulator'] == 'gem5':
|
|
run_args['userland_build_id'] = 'static'
|
|
if self.env['tests'] == []:
|
|
sources = [
|
|
'add.c',
|
|
'hello.c',
|
|
'hello_cpp.cpp',
|
|
'print_argv.c',
|
|
]
|
|
if self.env['arch'] == 'x86_64':
|
|
arch_sources = [
|
|
'asm_hello'
|
|
]
|
|
elif self.env['arch'] == 'aarch64':
|
|
arch_sources = [
|
|
'asm_hello'
|
|
]
|
|
else:
|
|
arch_sources = []
|
|
arch_sources[:] = [
|
|
os.path.join('arch', self.env['arch'], arch_source)
|
|
for arch_source
|
|
in arch_sources
|
|
]
|
|
sources.extend(arch_sources)
|
|
else:
|
|
sources = self.env['tests']
|
|
for source in sources:
|
|
run_args['userland'] = source
|
|
self.run_test(run, run_args, source)
|
|
|
|
if __name__ == '__main__':
|
|
Main().cli()
|