diff options
Diffstat (limited to 'test/CheckBaselineTests.py')
-rwxr-xr-x | test/CheckBaselineTests.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/test/CheckBaselineTests.py b/test/CheckBaselineTests.py new file mode 100755 index 00000000..570b93be --- /dev/null +++ b/test/CheckBaselineTests.py @@ -0,0 +1,77 @@ +#!/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', + '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) |