diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 2 | ||||
-rwxr-xr-x | test/RegressTests.py | 2 | ||||
-rw-r--r-- | test/baseline/cmd-convert.test | 2 | ||||
-rw-r--r-- | test/baseline/opt-aux-date.test | 2 | ||||
-rw-r--r-- | test/regress/0DDDEBC0.dat | 3 | ||||
-rw-r--r-- | test/regress/0DDDEBC0.test | 9 | ||||
-rw-r--r-- | test/regress/68917252.dat | 2 | ||||
-rw-r--r-- | test/regress/68917252.test | 5 | ||||
-rw-r--r-- | test/regress/A3FA7601.dat | 3 | ||||
-rw-r--r-- | test/regress/A3FA7601.test | 9 | ||||
-rw-r--r-- | test/regress/BF3C1F82-2.test | 12 | ||||
-rw-r--r-- | test/regress/BF3C1F82.test | 19 | ||||
-rw-r--r-- | test/regress/CMakeLists.txt | 20 | ||||
-rw-r--r-- | test/unit/t_amount.cc | 54 |
14 files changed, 121 insertions, 23 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b5d8cf09..94ce0a0a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -22,7 +22,7 @@ macro(add_ledger_harness_tests _class) foreach(TestFile ${${_class}_TESTS}) get_filename_component(TestFile_Name ${TestFile} NAME_WE) string(FIND ${TestFile_Name} "_py" TestFile_IsPythonTest) - if((NOT TestFile_IsPythonTest) OR HAVE_BOOST_PYTHON) + if((TestFile_IsPythonTest EQUAL -1) OR HAVE_BOOST_PYTHON) add_test(${_class}Test_${TestFile_Name} ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/RegressTests.py ${LEDGER_LOCATION} ${PROJECT_SOURCE_DIR} diff --git a/test/RegressTests.py b/test/RegressTests.py index 1094d0d5..01e14191 100755 --- a/test/RegressTests.py +++ b/test/RegressTests.py @@ -100,7 +100,7 @@ class RegressFile(object): use_stdin = False if test['command'].find("-f ") != -1: test['command'] = '$ledger ' + test['command'] - if test['command'].find("-f - ") != -1: + if re.search("-f (-|/dev/stdin)(\s|$)", test['command']): use_stdin = True else: test['command'] = (('$ledger -f "%s" ' % diff --git a/test/baseline/cmd-convert.test b/test/baseline/cmd-convert.test index 1c36d4bb..d444da52 100644 --- a/test/baseline/cmd-convert.test +++ b/test/baseline/cmd-convert.test @@ -4,7 +4,7 @@ test -f /dev/null --input-date-format "%m/%d/%Y" convert test/baseline/cmd-conve Expenses:Unknown $10 Equity:Unknown $-10 = $20 -2011/12/12=2011/12/12 * ; +2011/12/12=2011/12/12 * Expenses:Unknown $10 Equity:Unknown end test diff --git a/test/baseline/opt-aux-date.test b/test/baseline/opt-aux-date.test index 9d1e73d0..495bb7e6 100644 --- a/test/baseline/opt-aux-date.test +++ b/test/baseline/opt-aux-date.test @@ -10,7 +10,7 @@ Expenses:Books $20.00 Assets:Cash -test reg --effective +test reg --aux-date 08-Jan-01 January Expenses:Books $10.00 $10.00 Assets:Cash $-10.00 0 08-Feb-01 End of January Expenses:Books $10.00 $10.00 diff --git a/test/regress/0DDDEBC0.dat b/test/regress/0DDDEBC0.dat new file mode 100644 index 00000000..21b6fce1 --- /dev/null +++ b/test/regress/0DDDEBC0.dat @@ -0,0 +1,3 @@ +date,posted,amount, +12/12/2011,12/13/2011,$10, +12/12/2011,,$20, diff --git a/test/regress/0DDDEBC0.test b/test/regress/0DDDEBC0.test new file mode 100644 index 00000000..cccb1b6b --- /dev/null +++ b/test/regress/0DDDEBC0.test @@ -0,0 +1,9 @@ +test -f /dev/null --input-date-format '%m/%d/%Y' convert test/regress/0DDDEBC0.dat +2011/12/12=2011/12/13 * + Expenses:Unknown $10 + Equity:Unknown + +2011/12/12 * + Expenses:Unknown $20 + Equity:Unknown +end test diff --git a/test/regress/68917252.dat b/test/regress/68917252.dat new file mode 100644 index 00000000..8857f741 --- /dev/null +++ b/test/regress/68917252.dat @@ -0,0 +1,2 @@ +date,amount, +12/12/2011,10,test,extra,fields diff --git a/test/regress/68917252.test b/test/regress/68917252.test new file mode 100644 index 00000000..52fde1d9 --- /dev/null +++ b/test/regress/68917252.test @@ -0,0 +1,5 @@ +test -f /dev/null --input-date-format "%m/%d/%Y" convert test/regress/68917252.dat +2011/12/12 * + Expenses:Unknown 10 + Equity:Unknown +end test diff --git a/test/regress/A3FA7601.dat b/test/regress/A3FA7601.dat new file mode 100644 index 00000000..9a734e67 --- /dev/null +++ b/test/regress/A3FA7601.dat @@ -0,0 +1,3 @@ +date,posted,code,payee,amount,total,note, +12/12/2011,12/13/2011,100,Test,$10,$20,test, +12/12/2011,12/12/2011,,,$10,$20, diff --git a/test/regress/A3FA7601.test b/test/regress/A3FA7601.test new file mode 100644 index 00000000..5029f6d8 --- /dev/null +++ b/test/regress/A3FA7601.test @@ -0,0 +1,9 @@ +test -f /dev/null --input-date-format '%m/%d/%Y' convert test/regress/A3FA7601.dat +2011/12/12=2011/12/13 * (100) Test ;test + Expenses:Unknown $10 + Equity:Unknown $-10 = $20 + +2011/12/12=2011/12/12 * + Expenses:Unknown $10 + Equity:Unknown $-10 = $20 +end test diff --git a/test/regress/BF3C1F82-2.test b/test/regress/BF3C1F82-2.test new file mode 100644 index 00000000..453151ce --- /dev/null +++ b/test/regress/BF3C1F82-2.test @@ -0,0 +1,12 @@ +; Check that include directives are relative for "-f /dev/stdin" +include non-existent-ledger-file-BF3C1F82 +test -f - reg -> 1 +__ERROR__ +While parsing file "", line 2: +Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82" +end test +test -f /dev/stdin reg -> 1 +__ERROR__ +While parsing file "", line 2: +Error: File to include was not found: "./non-existent-ledger-file-BF3C1F82" +end test diff --git a/test/regress/BF3C1F82.test b/test/regress/BF3C1F82.test new file mode 100644 index 00000000..50f4106f --- /dev/null +++ b/test/regress/BF3C1F82.test @@ -0,0 +1,19 @@ +; Check that error reporting works for "-f -" + +2012/02/30 * Test + a 1 + b +test -f - reg -> 1 +__ERROR__ +While parsing file "", line 3: +While parsing transaction: +<no source context> +Error: Day of month is not valid for year +end test +test -f /dev/stdin reg -> 1 +__ERROR__ +While parsing file "", line 3: +While parsing transaction: +<no source context> +Error: Day of month is not valid for year +end test diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 4b6232dd..26f55e84 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -1,19 +1 @@ -if(HAVE_BOOST_PYTHON) - set(TEST_PYTHON_FLAGS "--python") -endif() - -if(PYTHONINTERP_FOUND) - file(GLOB REGRESSION_TESTS *.test) - foreach(TestFile ${REGRESSION_TESTS}) - get_filename_component(TestFile_Name ${TestFile} NAME_WE) - string(FIND ${TestFile_Name} "_py" TestFile_IsPythonTest) - if((NOT TestFile_IsPythonTest) OR HAVE_BOOST_PYTHON) - add_test(RegressionTest_${TestFile_Name} - ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/RegressTests.py - ${LEDGER_LOCATION} ${PROJECT_SOURCE_DIR} - ${TestFile} ${TEST_PYTHON_FLAGS}) - set_target_properties(check - PROPERTIES DEPENDS RegressionTest_${TestFile_Name}) - endif() - endforeach() -endif() +add_ledger_harness_tests(Regress) diff --git a/test/unit/t_amount.cc b/test/unit/t_amount.cc index 07cde8f3..b82de510 100644 --- a/test/unit/t_amount.cc +++ b/test/unit/t_amount.cc @@ -1109,6 +1109,60 @@ BOOST_AUTO_TEST_CASE(testCommodityAbs) BOOST_CHECK(x2.valid()); } +BOOST_AUTO_TEST_CASE(testFloor) +{ + amount_t x0; + amount_t x1("123.123"); + amount_t x2("-123.123"); + + BOOST_CHECK_THROW(x0.floored(), amount_error); + BOOST_CHECK_EQUAL(amount_t(123L), x1.floored()); + BOOST_CHECK_EQUAL(amount_t(-124L), x2.floored()); + + BOOST_CHECK(x0.valid()); + BOOST_CHECK(x1.valid()); + BOOST_CHECK(x2.valid()); +} + +BOOST_AUTO_TEST_CASE(testCommodityFloor) +{ + amount_t x1("$1234.56"); + amount_t x2("$-1234.56"); + + BOOST_CHECK_EQUAL(amount_t("$1234"), x1.floored()); + BOOST_CHECK_EQUAL(amount_t("$-1235"), x2.floored()); + + BOOST_CHECK(x1.valid()); + BOOST_CHECK(x2.valid()); +} + +BOOST_AUTO_TEST_CASE(testCeiling) +{ + amount_t x0; + amount_t x1("123.123"); + amount_t x2("-123.123"); + + BOOST_CHECK_THROW(x0.ceilinged(), amount_error); + BOOST_CHECK_EQUAL(amount_t(124L), x1.ceilinged()); + BOOST_CHECK_EQUAL(amount_t(-123L), x2.ceilinged()); + + BOOST_CHECK(x0.valid()); + BOOST_CHECK(x1.valid()); + BOOST_CHECK(x2.valid()); +} + +BOOST_AUTO_TEST_CASE(testCommodityCeiling) +{ + amount_t x1("$1234.56"); + amount_t x2("$-1234.56"); + + BOOST_CHECK_EQUAL(amount_t("$1235"), x1.ceilinged()); + BOOST_CHECK_EQUAL(amount_t("$-1234"), x2.ceilinged()); + + BOOST_CHECK(x1.valid()); + BOOST_CHECK(x2.valid()); +} + #ifndef NOT_FOR_PYTHON #if 0 BOOST_AUTO_TEST_CASE(testReduction) |