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 ./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 === Build the documentation
You don't need to depend on GitHub: You don't need to depend on GitHub:

View File

@@ -786,6 +786,7 @@ Valid emulators: {}
Time the main of the derived class. Time the main of the derived class.
''' '''
env = kwargs.copy() env = kwargs.copy()
self.input_args = env.copy()
env.update(consts) env.update(consts)
real_all_archs= env['all_archs'] real_all_archs= env['all_archs']
if real_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): def set_args(args, script_name):
args['arch'] = 'aarch64' args['arch'] = 'aarch64'
args['emulators'] = ['gem5'] 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='?') self.add_argument('variable', nargs='?')
def timed_main(self): def timed_main(self):
@@ -36,7 +37,11 @@ List all available variables:
if variable: if variable:
print(self.env[variable]) print(self.env[variable])
else: 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])) print('{}={}'.format(key, self.env[key]))
if __name__ == '__main__': if __name__ == '__main__':