getvar --type input, and improve docs for command line arguments

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-01-22 00:00:00 +00:00
parent fd90dcb6f9
commit 03c892f715
4 changed files with 23 additions and 1 deletions

View File

@@ -11305,6 +11305,18 @@ You can also choose a different configuration file explicitly with:
./run --config data/config2.py
....
Almost all options names are automatically deduced from their command line `--help` name: just replace `-` with `_`.
More precisely, we use the `dest=` value of Python's link:https://docs.python.org/3/library/argparse.html[argparse module].
To get a list of all global options that you can use, try:
....
./getvar --type input
....
but note that this does not include script specific options.
=== Build the documentation
You don't need to depend on GitHub:

View File

@@ -786,6 +786,7 @@ Valid emulators: {}
Time the main of the derived class.
'''
env = kwargs.copy()
self.input_args = env.copy()
env.update(consts)
real_all_archs= env['all_archs']
if real_all_archs:

View File

@@ -1,3 +1,7 @@
'''
https://github.com/cirosantilli/linux-kernel-module-cheat#default-command-line-arguments
'''
def set_args(args, script_name):
args['arch'] = 'aarch64'
args['emulators'] = ['gem5']

7
getvar
View File

@@ -29,6 +29,7 @@ List all available variables:
....
''',
)
self.add_argument('--type', choices=['input', 'all'], default='all')
self.add_argument('variable', nargs='?')
def timed_main(self):
@@ -36,7 +37,11 @@ List all available variables:
if variable:
print(self.env[variable])
else:
for key in self.env:
if self.env['type'] == 'input':
to_print = self.input_args
elif self.env['type'] == 'all':
to_print = self.env
for key in sorted(to_print):
print('{}={}'.format(key, self.env[key]))
if __name__ == '__main__':