app-office/gnucash: Add patch to address test failures on 32-bit platforms
authorThomas Deutschmann <whissi@gentoo.org>
Thu, 22 Feb 2018 11:44:00 +0000 (12:44 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Thu, 22 Feb 2018 11:44:00 +0000 (12:44 +0100)
Bug: https://bugs.gentoo.org/647596
Package-Manager: Portage-2.3.24, Repoman-2.3.6

app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch [new file with mode: 0644]
app-office/gnucash/gnucash-2.7.4-r1.ebuild

diff --git a/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch b/app-office/gnucash/files/gnucash-2.7.4-fix-tests-for-32bit-platforms.patch
new file mode 100644 (file)
index 0000000..ec0e83a
--- /dev/null
@@ -0,0 +1,56 @@
+From 3a0d2009741cdf825492020acab7c85867a60589 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 22 Feb 2018 12:27:36 +0100
+Subject: [PATCH] tests: Skip tests for dates on 32-bit platforms which cannot
+ be representated
+
+Tests "test_IANA_Perth_tz" and "test_IANA_Minsk_tz" are failing on 32-bit
+platforms because the earliest timestamp which can be representated on a
+32-bit platform is "1901-12-13 20:45:52" but the test ranges start before
+that date.
+
+To be safe, this commit will add code to skip tests before year 1902 on
+32-bit platforms.
+
+Bug: https://bugs.gentoo.org/647596
+---
+ libgnucash/engine/test/gtest-gnc-timezone.cpp | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/libgnucash/engine/test/gtest-gnc-timezone.cpp b/libgnucash/engine/test/gtest-gnc-timezone.cpp
+index 5c46b2618..298220f6e 100644
+--- a/libgnucash/engine/test/gtest-gnc-timezone.cpp
++++ b/libgnucash/engine/test/gtest-gnc-timezone.cpp
+@@ -154,6 +154,14 @@ TEST(gnc_timezone_constructors, test_IANA_Perth_tz)
+         }
+         else if (year < 1916)
+ #else
++        if (year < 1902)
++        {
++            // Earliest timestamp which can be represented on a 32-bit
++            // system is "1901-12-13 20:45:52" -- so skip tests until we
++            // reach a year >1901 to be safe
++            continue;
++        }
++
+         if (year < 1916)
+ #endif
+         {
+@@ -216,6 +224,14 @@ TEST(gnc_timezone_constructors, test_IANA_Minsk_tz)
+         }
+         else if (year < 1924)
+ #else
++        if (year < 1902)
++        {
++            // Earliest timestamp which can be represented on a 32-bit
++            // system is "1901-12-13 20:45:52" -- so skip tests until we
++            // reach a year >1901 to be safe
++            continue;
++        }
++
+         if (year < 1924)
+ #endif
+         {
+-- 
+2.16.2
+
index b51571b500eb4a67957ed0289ac625b345fc402f..3e3690ce2310dd7f8f538ecd5d032760f31b3565 100644 (file)
@@ -82,7 +82,10 @@ DEPEND="${RDEPEND}
 #      gnome-extra/yelp
 # )"
 
-PATCHES=( "${FILESDIR}"/gnucash-2.7.4-double_free.patch )
+PATCHES=(
+       "${FILESDIR}"/${P}-double_free.patch
+       "${FILESDIR}"/${P}-fix-tests-for-32bit-platforms.patch
+)
 
 pkg_setup() {
        use python && python-single-r1_pkg_setup