Files
linux-kernel-module-cheat/gem5-regression
2019-12-09 00:00:00 +00:00

43 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
from shell_helpers import LF
import os
import pathlib
import subprocess
import common
from shell_helpers import LF
class Main(common.LkmcCliFunction):
def __init__(self):
super().__init__(
description='''\
Run gem5 regression tests.
https://cirosantilli.com/linux-kernel-module-cheat#gem5-regression-tests
'''
)
self.add_argument(
'extra_args',
metavar='extra-args',
nargs='*',
)
def timed_main(self):
return self.sh.run_cmd([
os.path.join(self.env['gem5_source_dir'], 'tests', 'main.py'), LF,
'run', LF,
'--base-dir', self.env['gem5_source_dir'], LF,
'--build-dir', self.env['gem5_build_build_dir'], LF,
'--isa', self.env['gem5_arch'], LF,
'--variant', self.env['gem5_build_type'], LF,
'-j', str(self.env['nproc']), LF,
'-t', str(self.env['nproc']), LF,
] +
self.sh.add_newlines(self.env['extra_args']),
cwd=os.path.join(self.env['gem5_source_dir'], 'tests'),
raise_on_failure=False,
)
if __name__ == '__main__':
Main().cli()