12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- from __future__ import print_function
- import sys
- import re
- import os
- import argparse
- from os.path import *
- from subprocess import Popen, PIPE
- from CheckOptions import CheckOptions
- class CheckBaselineTests (CheckOptions):
- def __init__(self, args):
- CheckOptions.__init__(self, args)
- self.missing_baseline_tests = set()
- self.untested_options = [
- 'anon',
- 'args-only',
- 'debug',
- 'download',
- 'force-color',
- 'force-pager',
- 'generated',
- 'help',
- 'import',
- 'no-color',
- 'no-pager',
- 'options',
- 'price-exp',
- 'revalued-total',
- 'seed',
- 'trace',
- 'verbose',
- 'verify',
- 'verify-memory',
- 'version'
- ]
- def main(self):
- for option in self.ledger_options():
- if option in self.untested_options: continue
- baseline_testpath = join(self.source, 'test', 'baseline', 'opt-%s.test' % option)
- if exists(baseline_testpath) and getsize(baseline_testpath) > 0: continue
- self.missing_baseline_tests.add(option)
- if len(self.missing_baseline_tests):
- print("Missing Baseline test for:%s%s\n" % (self.sep, self.sep.join(sorted(list(self.missing_baseline_tests)))))
- errors = len(self.missing_baseline_tests)
- return errors
- if __name__ == "__main__":
- def getargs():
- parser = argparse.ArgumentParser(prog='CheckBaselineTests',
- description='Check that ledger options are tested')
- parser.add_argument('-l', '--ledger',
- dest='ledger',
- type=str,
- action='store',
- required=True,
- help='the path to the ledger executable to test with')
- parser.add_argument('-s', '--source',
- dest='source',
- type=str,
- action='store',
- required=True,
- help='the path to the top level ledger source directory')
- return parser.parse_args()
- args = getargs()
- script = CheckBaselineTests(args)
- status = script.main()
- sys.exit(status)
|