Merge commit '9627e2a97b56826e723eee0b8410a3e12bde4bb9' into next
This commit is contained in:
commit
f310341bf5
7 changed files with 41 additions and 27 deletions
|
|
@ -12,6 +12,8 @@ set(Ledger_VERSION_PATCH 1)
|
||||||
set(Ledger_VERSION_PRERELEASE "-alpha.1")
|
set(Ledger_VERSION_PRERELEASE "-alpha.1")
|
||||||
set(Ledger_VERSION_DATE 20141005)
|
set(Ledger_VERSION_DATE 20141005)
|
||||||
|
|
||||||
|
set(Ledger_TEST_TIMEZONE "America/Chicago")
|
||||||
|
|
||||||
# Point CMake at any custom modules we may ship
|
# Point CMake at any custom modules we may ship
|
||||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3986,8 +3986,8 @@ $ ledger --effective register Groceries
|
||||||
@subsection Periodic Transactions
|
@subsection Periodic Transactions
|
||||||
@findex --budget
|
@findex --budget
|
||||||
|
|
||||||
A periodic transaction starts with a @samp{~} followed by a period
|
A periodic transaction starts with a tilde @samp{~} followed by a period
|
||||||
expression. Periodic transactions are used for budgeting and
|
expression (see @ref{Period Expressions}). Periodic transactions are used for budgeting and
|
||||||
forecasting only, they have no effect without the @option{--budget}
|
forecasting only, they have no effect without the @option{--budget}
|
||||||
option specified. For examples and details, @pxref{Budgeting and
|
option specified. For examples and details, @pxref{Budgeting and
|
||||||
Forecasting}.
|
Forecasting}.
|
||||||
|
|
@ -5908,7 +5908,9 @@ database.
|
||||||
Display the man page for @file{ledger}.
|
Display the man page for @file{ledger}.
|
||||||
|
|
||||||
@item --init-file @var{FILE}
|
@item --init-file @var{FILE}
|
||||||
Specify the location of the init file. The default is @file{~/.ledgerrc}.
|
Specify the location of the init file. The default is home directory
|
||||||
|
@file{~/.ledgerrc}, or current directory @file{./.ledgerrc} if not found
|
||||||
|
in home directory.
|
||||||
|
|
||||||
@item --options
|
@item --options
|
||||||
Display the options in effect for this Ledger invocation, along with
|
Display the options in effect for this Ledger invocation, along with
|
||||||
|
|
@ -10005,14 +10007,18 @@ In case several test files belong to the same bug number the files by appending
|
||||||
@code{_X} where @samp{X} is the number of the test, e.g. @samp{1234_1.test},
|
@code{_X} where @samp{X} is the number of the test, e.g. @samp{1234_1.test},
|
||||||
@samp{1234_2.test}.
|
@samp{1234_2.test}.
|
||||||
|
|
||||||
|
Baseline Test Types:
|
||||||
@anchor{Baseline Test Types}
|
@anchor{Baseline Test Types}
|
||||||
@multitable @columnfractions .3 .7
|
@table @code
|
||||||
@headitem Type @tab Use
|
@item cmd
|
||||||
@item @code{cmd} @tab Ledger commands like @code{register} or @code{balance}
|
Ledger commands like @command{register} or @command{balance}
|
||||||
@item @code{dir} @tab ?
|
@item dir
|
||||||
@item @code{feat} @tab ?
|
Ledger directives like @code{account} or @code{alias}
|
||||||
@item @code{opt} @tab Ledger options such as @option{--period} or @option{--format}
|
@item feat
|
||||||
@end multitable
|
Ledger features such as balance assertions in journal file
|
||||||
|
@item opt
|
||||||
|
Ledger options such as @option{--period} or @option{--format}
|
||||||
|
@end table
|
||||||
|
|
||||||
A ledger test file contains three sections:
|
A ledger test file contains three sections:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ macro(add_ledger_harness_tests _class)
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/RegressTests.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/RegressTests.py
|
||||||
$<TARGET_FILE:ledger> ${PROJECT_SOURCE_DIR}
|
$<TARGET_FILE:ledger> ${PROJECT_SOURCE_DIR}
|
||||||
${TestFile} ${TEST_PYTHON_FLAGS})
|
${TestFile} ${TEST_PYTHON_FLAGS})
|
||||||
|
set_tests_properties(${_class}Test_${TestFile_Name}
|
||||||
|
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
|
||||||
set_target_properties(check
|
set_target_properties(check
|
||||||
PROPERTIES DEPENDS ${_class}Test_${TestFile_Name})
|
PROPERTIES DEPENDS ${_class}Test_${TestFile_Name})
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -44,7 +46,10 @@ if (PYTHONINTERP_FOUND)
|
||||||
add_test(NAME ${_class}Test_${TestFile_Name}
|
add_test(NAME ${_class}Test_${TestFile_Name}
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
|
||||||
--ledger $<TARGET_FILE:ledger> --file ${TestFile})
|
--ledger $<TARGET_FILE:ledger> --file ${TestFile})
|
||||||
set_target_properties(check PROPERTIES DEPENDS ${_class}Test_${TestFile_Name})
|
set_tests_properties(${_class}Test_${TestFile_Name}
|
||||||
|
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
|
||||||
|
set_target_properties(check
|
||||||
|
PROPERTIES DEPENDS ${_class}Test_${TestFile_Name})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# CheckManpage and CheckTexinfo are disabled, since they do not work
|
# CheckManpage and CheckTexinfo are disabled, since they do not work
|
||||||
|
|
@ -54,6 +59,8 @@ if (PYTHONINTERP_FOUND)
|
||||||
add_test(NAME ${_class}
|
add_test(NAME ${_class}
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
|
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
|
||||||
--ledger $<TARGET_FILE:ledger> --source ${PROJECT_SOURCE_DIR})
|
--ledger $<TARGET_FILE:ledger> --source ${PROJECT_SOURCE_DIR})
|
||||||
|
set_tests_properties(${_class}
|
||||||
|
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
* Passif:Crédit:BanqueAccord -171,63 €
|
* Passif:Crédit:BanqueAccord -171,63 €
|
||||||
|
|
||||||
test -f test/regress/1057.test --now=2014/06/27 emacs
|
test -f test/regress/1057.test --now=2014/06/27 emacs
|
||||||
(("$sourcepath/test/regress/1057.test" 1 (21308 34912 0) nil "www.amazon.fr"
|
(("$sourcepath/test/regress/1057.test" 1 (21308 60112 0) nil "www.amazon.fr"
|
||||||
(2 "Dépense:Loisir:Ordi:Matériel" "101,50 €" nil " disque dur portable 2,5\" 2000 Go")
|
(2 "Dépense:Loisir:Ordi:Matériel" "101,50 €" nil " disque dur portable 2,5\" 2000 Go")
|
||||||
(3 "Dépense:Maison:Service:Poste" "70,13 €" nil)
|
(3 "Dépense:Maison:Service:Poste" "70,13 €" nil)
|
||||||
(4 "Passif:Crédit:BanqueAccord" "-171,63 €" t)))
|
(4 "Passif:Crédit:BanqueAccord" "-171,63 €" t)))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
macro(add_ledger_test _name)
|
macro(add_ledger_test _name)
|
||||||
target_link_libraries(${_name} libledger)
|
target_link_libraries(${_name} libledger)
|
||||||
add_test(Ledger${_name} ${PROJECT_BINARY_DIR}/${_name})
|
add_test(Ledger${_name} ${PROJECT_BINARY_DIR}/${_name})
|
||||||
|
set_tests_properties(Ledger${_name}
|
||||||
|
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
|
||||||
endmacro(add_ledger_test _name)
|
endmacro(add_ledger_test _name)
|
||||||
|
|
||||||
include_directories(${PROJECT_SOURCE_DIR}/src)
|
include_directories(${PROJECT_SOURCE_DIR}/src)
|
||||||
|
|
|
||||||
|
|
@ -109,12 +109,11 @@ BOOST_AUTO_TEST_CASE(testEquality)
|
||||||
{
|
{
|
||||||
struct tm localtime;
|
struct tm localtime;
|
||||||
strptime("10 February 2010", "%d %b %Y", &localtime);
|
strptime("10 February 2010", "%d %b %Y", &localtime);
|
||||||
time_t time_var = mktime(&localtime);
|
|
||||||
value_t::sequence_t s1;
|
value_t::sequence_t s1;
|
||||||
|
|
||||||
value_t v1;
|
value_t v1;
|
||||||
value_t v2(true);
|
value_t v2(true);
|
||||||
value_t v3(boost::posix_time::from_time_t(time_var));
|
value_t v3(boost::posix_time::ptime_from_tm(localtime));
|
||||||
value_t v4(date_t(parse_date("2014/08/14")));
|
value_t v4(date_t(parse_date("2014/08/14")));
|
||||||
value_t v5(2L);
|
value_t v5(2L);
|
||||||
value_t v6(2UL);
|
value_t v6(2UL);
|
||||||
|
|
@ -131,7 +130,7 @@ BOOST_AUTO_TEST_CASE(testEquality)
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(v1, value_t());
|
BOOST_CHECK_EQUAL(v1, value_t());
|
||||||
BOOST_CHECK_EQUAL(v2, value_t(true));
|
BOOST_CHECK_EQUAL(v2, value_t(true));
|
||||||
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::from_time_t(time_var)));
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
BOOST_CHECK(!(v4 == value_t(date_t(parse_date("2014/08/15")))));
|
BOOST_CHECK(!(v4 == value_t(date_t(parse_date("2014/08/15")))));
|
||||||
|
|
||||||
value_t v19(amount_t("2"));
|
value_t v19(amount_t("2"));
|
||||||
|
|
@ -209,12 +208,11 @@ BOOST_AUTO_TEST_CASE(testAddition)
|
||||||
{
|
{
|
||||||
struct tm localtime;
|
struct tm localtime;
|
||||||
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
time_t time_var = mktime(&localtime);
|
|
||||||
value_t::sequence_t s1;
|
value_t::sequence_t s1;
|
||||||
|
|
||||||
value_t v1;
|
value_t v1;
|
||||||
value_t v2(true);
|
value_t v2(true);
|
||||||
value_t v3(boost::posix_time::from_time_t(time_var));
|
value_t v3(boost::posix_time::ptime_from_tm(localtime));
|
||||||
value_t v4(date_t(parse_date("2014/08/14")));
|
value_t v4(date_t(parse_date("2014/08/14")));
|
||||||
value_t v5(2L);
|
value_t v5(2L);
|
||||||
value_t v6(2UL);
|
value_t v6(2UL);
|
||||||
|
|
@ -234,12 +232,14 @@ BOOST_AUTO_TEST_CASE(testAddition)
|
||||||
v14 += v12;
|
v14 += v12;
|
||||||
BOOST_CHECK_EQUAL(v14, value_t(string("commentcomment$1.00"), true));
|
BOOST_CHECK_EQUAL(v14, value_t(string("commentcomment$1.00"), true));
|
||||||
|
|
||||||
|
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
v3 += value_t(2L);
|
v3 += value_t(2L);
|
||||||
strptime("10 February 2010 00:00:02", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:02", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::from_time_t(mktime(&localtime))));
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
v3 += value_t(amount_t("2"));
|
v3 += value_t(amount_t("2"));
|
||||||
strptime("10 February 2010 00:00:04", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:04", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::from_time_t(mktime(&localtime))));
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
|
|
||||||
v4 += value_t(2L);
|
v4 += value_t(2L);
|
||||||
BOOST_CHECK_EQUAL(v4, value_t(date_t(parse_date("2014/08/16"))));
|
BOOST_CHECK_EQUAL(v4, value_t(date_t(parse_date("2014/08/16"))));
|
||||||
|
|
@ -315,12 +315,11 @@ BOOST_AUTO_TEST_CASE(testSubtraction)
|
||||||
{
|
{
|
||||||
struct tm localtime;
|
struct tm localtime;
|
||||||
strptime("10 February 2010 00:00:04", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:04", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
time_t time_var = mktime(&localtime);
|
|
||||||
value_t::sequence_t s1;
|
value_t::sequence_t s1;
|
||||||
|
|
||||||
value_t v1;
|
value_t v1;
|
||||||
value_t v2(true);
|
value_t v2(true);
|
||||||
value_t v3(boost::posix_time::from_time_t(time_var));
|
value_t v3(boost::posix_time::ptime_from_tm(localtime));
|
||||||
value_t v4(date_t(parse_date("2014/08/18")));
|
value_t v4(date_t(parse_date("2014/08/18")));
|
||||||
value_t v5(6L);
|
value_t v5(6L);
|
||||||
value_t v6(6UL);
|
value_t v6(6UL);
|
||||||
|
|
@ -337,10 +336,10 @@ BOOST_AUTO_TEST_CASE(testSubtraction)
|
||||||
|
|
||||||
v3 -= value_t(2L);
|
v3 -= value_t(2L);
|
||||||
strptime("10 February 2010 00:00:02", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:02", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::from_time_t(mktime(&localtime))));
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
v3 -= value_t(amount_t("2"));
|
v3 -= value_t(amount_t("2"));
|
||||||
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::from_time_t(mktime(&localtime))));
|
BOOST_CHECK_EQUAL(v3, value_t(boost::posix_time::ptime_from_tm(localtime)));
|
||||||
|
|
||||||
v4 -= value_t(2L);
|
v4 -= value_t(2L);
|
||||||
BOOST_CHECK_EQUAL(v4, value_t(date_t(parse_date("2014/08/16"))));
|
BOOST_CHECK_EQUAL(v4, value_t(date_t(parse_date("2014/08/16"))));
|
||||||
|
|
@ -419,12 +418,11 @@ BOOST_AUTO_TEST_CASE(testMultiplication)
|
||||||
{
|
{
|
||||||
struct tm localtime;
|
struct tm localtime;
|
||||||
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
time_t time_var = mktime(&localtime);
|
|
||||||
value_t::sequence_t s1;
|
value_t::sequence_t s1;
|
||||||
|
|
||||||
value_t v1;
|
value_t v1;
|
||||||
value_t v2(true);
|
value_t v2(true);
|
||||||
value_t v3(boost::posix_time::from_time_t(time_var));
|
value_t v3(boost::posix_time::ptime_from_tm(localtime));
|
||||||
value_t v4(date_t(parse_date("2014/08/14")));
|
value_t v4(date_t(parse_date("2014/08/14")));
|
||||||
value_t v5(2L);
|
value_t v5(2L);
|
||||||
value_t v6(2UL);
|
value_t v6(2UL);
|
||||||
|
|
@ -496,12 +494,11 @@ BOOST_AUTO_TEST_CASE(testDivision)
|
||||||
{
|
{
|
||||||
struct tm localtime;
|
struct tm localtime;
|
||||||
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
strptime("10 February 2010 00:00:00", "%d %b %Y %H:%M:%S", &localtime);
|
||||||
time_t time_var = mktime(&localtime);
|
|
||||||
value_t::sequence_t s1;
|
value_t::sequence_t s1;
|
||||||
|
|
||||||
value_t v1;
|
value_t v1;
|
||||||
value_t v2(true);
|
value_t v2(true);
|
||||||
value_t v3(boost::posix_time::from_time_t(time_var));
|
value_t v3(boost::posix_time::ptime_from_tm(localtime));
|
||||||
value_t v4(date_t(parse_date("2014/08/14")));
|
value_t v4(date_t(parse_date("2014/08/14")));
|
||||||
value_t v5(8L);
|
value_t v5(8L);
|
||||||
value_t v6(2UL);
|
value_t v6(2UL);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue