summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--doc/ledger3.texi26
-rw-r--r--test/CMakeLists.txt9
-rw-r--r--test/baseline/dir-fixed.test (renamed from test/baseline/feat-fixated-prices_2.test)0
-rw-r--r--test/regress/1057.test2
-rw-r--r--test/unit/CMakeLists.txt2
-rw-r--r--test/unit/t_value.cc27
7 files changed, 41 insertions, 27 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e455ec02..2516b530 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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")
diff --git a/doc/ledger3.texi b/doc/ledger3.texi
index 14a71778..d32d7947 100644
--- a/doc/ledger3.texi
+++ b/doc/ledger3.texi
@@ -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:
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 0e7d5f2c..d0b62f6e 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -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()
diff --git a/test/baseline/feat-fixated-prices_2.test b/test/baseline/dir-fixed.test
index ecbdfe9a..ecbdfe9a 100644
--- a/test/baseline/feat-fixated-prices_2.test
+++ b/test/baseline/dir-fixed.test
diff --git a/test/regress/1057.test b/test/regress/1057.test
index 94d82767..1cd91ee7 100644
--- a/test/regress/1057.test
+++ b/test/regress/1057.test
@@ -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)))
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index de7fdd26..4f688755 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -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)
diff --git a/test/unit/t_value.cc b/test/unit/t_value.cc
index e8367bbe..2daedcb1 100644
--- a/test/unit/t_value.cc
+++ b/test/unit/t_value.cc
@@ -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);