362 ('parallel', 'run:parallel', 'boolean'), |
363 ('parallel', 'run:parallel', 'boolean'), |
363 ('plugins', 'run:plugins', 'list'), |
364 ('plugins', 'run:plugins', 'list'), |
364 ('relative_files', 'run:relative_files', 'boolean'), |
365 ('relative_files', 'run:relative_files', 'boolean'), |
365 ('run_include', 'run:include', 'list'), |
366 ('run_include', 'run:include', 'list'), |
366 ('run_omit', 'run:omit', 'list'), |
367 ('run_omit', 'run:omit', 'list'), |
|
368 ('sigterm', 'run:sigterm', 'boolean'), |
367 ('source', 'run:source', 'list'), |
369 ('source', 'run:source', 'list'), |
368 ('source_pkgs', 'run:source_pkgs', 'list'), |
370 ('source_pkgs', 'run:source_pkgs', 'list'), |
369 ('timid', 'run:timid', 'boolean'), |
371 ('timid', 'run:timid', 'boolean'), |
370 ('_crash', 'run:_crash'), |
372 ('_crash', 'run:_crash'), |
371 |
373 |
497 |
499 |
498 def debug_info(self): |
500 def debug_info(self): |
499 """Make a list of (name, value) pairs for writing debug info.""" |
501 """Make a list of (name, value) pairs for writing debug info.""" |
500 return human_sorted_items( |
502 return human_sorted_items( |
501 (k, v) for k, v in self.__dict__.items() if not k.startswith("_") |
503 (k, v) for k, v in self.__dict__.items() if not k.startswith("_") |
502 ) |
504 ) |
503 |
505 |
504 |
506 |
505 def config_files_to_try(config_file): |
507 def config_files_to_try(config_file): |
506 """What config files should we try to read? |
508 """What config files should we try to read? |
507 |
509 |