summaryrefslogtreecommitdiff
path: root/test/CheckBaselineTests.py
diff options
context:
space:
mode:
authorAlexis Hildebrandt <afh@surryhill.net>2015-01-21 06:50:56 +0100
committerAlexis Hildebrandt <afh@surryhill.net>2015-01-21 08:03:53 +0100
commitc7a30bf7d8e2b79624925a6f27281a0297217398 (patch)
tree74b0a446d98ffaa4b49ea6c500d73552d73f54b2 /test/CheckBaselineTests.py
parent213f0341c1559bad2e873c309247b4de8acfa746 (diff)
downloadfork-ledger-c7a30bf7d8e2b79624925a6f27281a0297217398.tar.gz
fork-ledger-c7a30bf7d8e2b79624925a6f27281a0297217398.tar.bz2
fork-ledger-c7a30bf7d8e2b79624925a6f27281a0297217398.zip
[tests] Refactor CheckTests.py into custom scripts
Diffstat (limited to 'test/CheckBaselineTests.py')
-rwxr-xr-xtest/CheckBaselineTests.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/CheckBaselineTests.py b/test/CheckBaselineTests.py
new file mode 100755
index 00000000..404c12db
--- /dev/null
+++ b/test/CheckBaselineTests.py
@@ -0,0 +1,55 @@
+#!/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()
+
+ 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)