mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-25 19:21:35 +01:00
47 lines
1.4 KiB
Python
Executable File
47 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
|
|
import common
|
|
|
|
class Main(common.LkmcCliFunction):
|
|
def timed_main(self):
|
|
run = self.import_path('run').Main()
|
|
sources = [
|
|
'add.c',
|
|
'hello.c',
|
|
'hello_cpp.cpp',
|
|
'print_argv.c',
|
|
]
|
|
for emulator in self.env['emulators']:
|
|
if emulator == 'gem5':
|
|
extra_args = {
|
|
'userland_build_id': 'static',
|
|
}
|
|
else:
|
|
extra_args = {}
|
|
for arch in self.env['all_archs']:
|
|
if arch == 'x86_64':
|
|
arch_sources = [
|
|
'asm_hello'
|
|
]
|
|
elif arch == 'aarch64':
|
|
arch_sources = [
|
|
'asm_hello'
|
|
]
|
|
else:
|
|
arch_sources = []
|
|
arch_sources[:] = [os.path.join('arch', arch, arch_source) for arch_source in arch_sources]
|
|
for source in sources + arch_sources:
|
|
exit_status = run(
|
|
arch=arch,
|
|
userland=source,
|
|
emulator=emulator,
|
|
**extra_args,
|
|
)
|
|
if exit_status != 0:
|
|
raise Exception('Test failed: {} {} {} {}'.format(emulator, arch, source, exit_status))
|
|
|
|
if __name__ == '__main__':
|
|
Main().cli()
|