diff options
Diffstat (limited to 'test')
-rwxr-xr-x | test/DocTests.py | 19 | ||||
-rw-r--r-- | test/baseline/opt-trace.test | 15 | ||||
-rwxr-xr-x | test/convert.py | 2 | ||||
-rw-r--r-- | test/regress/1038_1.test | 18 | ||||
-rw-r--r-- | test/regress/1038_2.test | 18 | ||||
-rw-r--r-- | test/regress/1038_3.test | 20 |
6 files changed, 88 insertions, 4 deletions
diff --git a/test/DocTests.py b/test/DocTests.py index be28fae1..ea32608e 100755 --- a/test/DocTests.py +++ b/test/DocTests.py @@ -16,6 +16,7 @@ class DocTests: self.ledger = os.path.abspath(args.ledger) self.sourcepath = os.path.abspath(args.file) self.verbose = args.verbose + self.tests = args.examples self.examples = dict() self.test_files = list() @@ -114,7 +115,7 @@ class DocTests: if command[0] == '$': command.remove('$') index = command.index('ledger') command[index] = self.ledger - for i,argument in enumerate('--init-file /dev/null --columns 80'.split()): + for i,argument in enumerate('--args-only --columns 80'.split()): command.insert(index+i+1, argument) try: @@ -133,7 +134,14 @@ class DocTests: def test_examples(self): failed = set() - for test_id in self.examples: + tests = self.examples.keys() + if self.tests: + tests = list(set(self.tests).intersection(tests)) + temp = list(set(self.tests).difference(tests)) + if len(temp) > 0: + print >> sys.stderr, 'Skipping non-existent examples: %s' % ', '.join(temp) + + for test_id in tests: validation = False if "validate-data" in self.examples[test_id] or "validate-command" in self.examples[test_id]: validation = True @@ -213,7 +221,7 @@ class DocTests: if __name__ == "__main__": def getargs(): - parser = argparse.ArgumentParser(description='DocTests', prefix_chars='-') + parser = argparse.ArgumentParser(prog='DocTests', description='Test ledger examples from the documentation', prefix_chars='-') parser.add_argument('-v', '--verbose', dest='verbose', action='count', @@ -230,6 +238,11 @@ if __name__ == "__main__": action='store', required=True, help='the texinfo documentation file to run the examples from') + parser.add_argument('examples', + metavar='EXAMPLE', + type=str, + nargs='*', + help='the examples to test') return parser.parse_args() args = getargs() diff --git a/test/baseline/opt-trace.test b/test/baseline/opt-trace.test new file mode 100644 index 00000000..9034018e --- /dev/null +++ b/test/baseline/opt-trace.test @@ -0,0 +1,15 @@ +2007/02/02 RD VMMXX + Assets:Investments:Vanguard:VMMXX 0.350 VMMXX @ $1.00 + Income:Dividends:Vanguard:VMMXX $-0.35 + +; Using values with two or more digits as the argument to the --trace option +; resulted in a segmentation fault. +; Since ledger prints debugging information to stderr when the --trace option +; was given and that debugging information contains timing information, e.g. [1ms] +; which is likely to differ on each test run, this test only checks that ledger +; does not crash when the --trace options was specified. +test reg --trace 10 2>/dev/null +07-Feb-02 RD VMMXX As:Inves:Vanguar:VMMXX 0.350 VMMXX 0.350 VMMXX + In:Divid:Vanguar:VMMXX $-0.35 $-0.35 + 0.350 VMMXX +end test diff --git a/test/convert.py b/test/convert.py index ae44b39f..5328c4ae 100755 --- a/test/convert.py +++ b/test/convert.py @@ -3,7 +3,7 @@ # convert.py: This script converts a Boost.Test unit test into an # equivalent Python unit test. # -# Copyright (c) 2003-2010, John Wiegley. All rights reserved. +# Copyright (c) 2003-2015, John Wiegley. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are diff --git a/test/regress/1038_1.test b/test/regress/1038_1.test new file mode 100644 index 00000000..c833816e --- /dev/null +++ b/test/regress/1038_1.test @@ -0,0 +1,18 @@ +Y2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test diff --git a/test/regress/1038_2.test b/test/regress/1038_2.test new file mode 100644 index 00000000..ce0c046d --- /dev/null +++ b/test/regress/1038_2.test @@ -0,0 +1,18 @@ +year 2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test diff --git a/test/regress/1038_3.test b/test/regress/1038_3.test new file mode 100644 index 00000000..0e277d71 --- /dev/null +++ b/test/regress/1038_3.test @@ -0,0 +1,20 @@ +apply year 2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +end apply + +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test |