Merge commit '9627e2a97b56826e723eee0b8410a3e12bde4bb9' into next

This commit is contained in:
Craig Earls 2015-08-22 07:56:57 -07:00
commit f310341bf5
7 changed files with 41 additions and 27 deletions

View file

@ -12,6 +12,8 @@ set(Ledger_VERSION_PATCH 1)
set(Ledger_VERSION_PRERELEASE "-alpha.1")
set(Ledger_VERSION_DATE 20141005)
set(Ledger_TEST_TIMEZONE "America/Chicago")
# Point CMake at any custom modules we may ship
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

View file

@ -3986,8 +3986,8 @@ $ ledger --effective register Groceries
@subsection Periodic Transactions
@findex --budget
A periodic transaction starts with a @samp{~} followed by a period
expression. Periodic transactions are used for budgeting and
A periodic transaction starts with a tilde @samp{~} followed by a period
expression (see @ref{Period Expressions}). Periodic transactions are used for budgeting and
forecasting only, they have no effect without the @option{--budget}
option specified. For examples and details, @pxref{Budgeting and
Forecasting}.
@ -5908,7 +5908,9 @@ database.
Display the man page for @file{ledger}.
@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
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},
@samp{1234_2.test}.
Baseline Test Types:
@anchor{Baseline Test Types}
@multitable @columnfractions .3 .7
@headitem Type @tab Use
@item @code{cmd} @tab Ledger commands like @code{register} or @code{balance}
@item @code{dir} @tab ?
@item @code{feat} @tab ?
@item @code{opt} @tab Ledger options such as @option{--period} or @option{--format}
@end multitable
@table @code
@item cmd
Ledger commands like @command{register} or @command{balance}
@item dir
Ledger directives like @code{account} or @code{alias}
@item feat
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:

View file

@ -25,6 +25,8 @@ macro(add_ledger_harness_tests _class)
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/RegressTests.py
$<TARGET_FILE:ledger> ${PROJECT_SOURCE_DIR}
${TestFile} ${TEST_PYTHON_FLAGS})
set_tests_properties(${_class}Test_${TestFile_Name}
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
set_target_properties(check
PROPERTIES DEPENDS ${_class}Test_${TestFile_Name})
endif()
@ -44,7 +46,10 @@ if (PYTHONINTERP_FOUND)
add_test(NAME ${_class}Test_${TestFile_Name}
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
--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()
# CheckManpage and CheckTexinfo are disabled, since they do not work
@ -54,6 +59,8 @@ if (PYTHONINTERP_FOUND)
add_test(NAME ${_class}
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py
--ledger $<TARGET_FILE:ledger> --source ${PROJECT_SOURCE_DIR})
set_tests_properties(${_class}
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
endforeach()
endif()

View file

@ -4,7 +4,7 @@
* Passif:Crédit:BanqueAccord -171,63 €
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")
(3 "Dépense:Maison:Service:Poste" "70,13 €" nil)
(4 "Passif:Crédit:BanqueAccord" "-171,63 €" t)))

View file

@ -1,6 +1,8 @@
macro(add_ledger_test _name)
target_link_libraries(${_name} libledger)
add_test(Ledger${_name} ${PROJECT_BINARY_DIR}/${_name})
set_tests_properties(Ledger${_name}
PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}")
endmacro(add_ledger_test _name)
include_directories(${PROJECT_SOURCE_DIR}/src)

View file

@ -109,12 +109,11 @@ BOOST_AUTO_TEST_CASE(testEquality)
{
struct tm localtime;
strptime("10 February 2010", "%d %b %Y", &localtime);
time_t time_var = mktime(&localtime);
value_t::sequence_t s1;
value_t v1;
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 v5(2L);
value_t v6(2UL);
@ -131,7 +130,7 @@ BOOST_AUTO_TEST_CASE(testEquality)
BOOST_CHECK_EQUAL(v1, value_t());
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")))));
value_t v19(amount_t("2"));
@ -209,12 +208,11 @@ BOOST_AUTO_TEST_CASE(testAddition)
{
struct tm 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 v1;
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 v5(2L);
value_t v6(2UL);
@ -234,12 +232,14 @@ BOOST_AUTO_TEST_CASE(testAddition)
v14 += v12;
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);
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"));
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);
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;
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 v1;
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 v5(6L);
value_t v6(6UL);
@ -337,10 +336,10 @@ BOOST_AUTO_TEST_CASE(testSubtraction)
v3 -= value_t(2L);
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"));
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);
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;
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 v1;
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 v5(2L);
value_t v6(2UL);
@ -496,12 +494,11 @@ BOOST_AUTO_TEST_CASE(testDivision)
{
struct tm 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 v1;
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 v5(8L);
value_t v6(2UL);