guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: mariadb: Adjust to test failures on Hydra.


From: Marius Bakke
Subject: 02/02: gnu: mariadb: Adjust to test failures on Hydra.
Date: Mon, 6 Aug 2018 18:57:35 -0400 (EDT)

mbakke pushed a commit to branch staging
in repository guix.

commit 3418e43bf55033c15b997a46a56c9efd69c0624e
Author: Marius Bakke <address@hidden>
Date:   Tue Aug 7 00:51:48 2018 +0200

    gnu: mariadb: Adjust to test failures on Hydra.
    
    * gnu/packages/patches/mariadb-client-test-32bit.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/databases.scm (mariadb)[source](patches): Add it.
    [arguments]: Increase retry count and test timeout.  Disable test
    main.myisampack.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/databases.scm                         | 19 +++++++++--
 .../patches/mariadb-client-test-32bit.patch        | 37 ++++++++++++++++++++++
 3 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 4ed341d..adae0f3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -930,6 +930,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/make-glibc-compat.patch                 \
   %D%/packages/patches/make-impure-dirs.patch                  \
   %D%/packages/patches/mariadb-gcc-ice.patch                   \
+  %D%/packages/patches/mariadb-client-test-32bit.patch         \
   %D%/packages/patches/mars-install.patch                      \
   %D%/packages/patches/mars-sfml-2.3.patch                     \
   %D%/packages/patches/maxima-defsystem-mkdir.patch            \
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4c9382c..48c75bb 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -636,7 +636,8 @@ Language.")
               (sha256
                (base32
                 "0j2mdpyvj41vkq2rwrzky88b7170hzz6gy2vb2bc1447s2gp3q67"))
-              (patches (search-patches "mariadb-gcc-ice.patch"))
+              (patches (search-patches "mariadb-gcc-ice.patch"
+                                       "mariadb-client-test-32bit.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -713,7 +714,18 @@ Language.")
                       ;; See <https://jira.mariadb.org/browse/MDEV-7761>.
                       "main.join_cache"
                       "main.explain_non_select"
-                      "roles.acl_statistics"))
+                      "roles.acl_statistics"
+
+                      ;; FIXME: This test fails on i686:
+                      ;; -myisampack: Can't create/write to file (Errcode: 17 
"File exists")
+                      ;; +myisampack: Can't create/write to file (Errcode: 17 
"File exists)
+                      ;; When running "myisampack --join=foo/t3 foo/t1 foo/t2"
+                      ;; (all three tables must exist and be identical)
+                      ;; in a loop it produces the same error around 1/240 
times.
+                      ;; montywi on #maria suggested removing the real_end 
check in
+                      ;; "strings/my_vsnprintf.c" on line 503, yet it still 
does not
+                      ;; reach the ending quote occasionally.  Disable it for 
now.
+                      "main.myisampack"))
 
                    ;; This file contains a list of known-flaky tests for this
                    ;; release.  Append our own items.
@@ -745,6 +757,9 @@ Language.")
              (if tests?
                  (with-directory-excursion "mysql-test"
                    (invoke "./mtr" "--verbose"
+                           "--retry=3"
+                           "--testcase-timeout=30"
+                           "--suite-timeout=540"
                            "--parallel" (number->string (parallel-job-count))
                            "--skip-test-list=unstable-tests"))
                  (format #t "test suite not run~%"))
diff --git a/gnu/packages/patches/mariadb-client-test-32bit.patch 
b/gnu/packages/patches/mariadb-client-test-32bit.patch
new file mode 100644
index 0000000..02017e3
--- /dev/null
+++ b/gnu/packages/patches/mariadb-client-test-32bit.patch
@@ -0,0 +1,37 @@
+From 93efa48a7b972fc463406603574a4d508eefe792 Mon Sep 17 00:00:00 2001
+From: Sergei Golubchik <address@hidden>
+Date: Sun, 13 May 2018 18:50:21 +0200
+Subject: [PATCH] fix failing main.mysql_client_test test on 32bit
+
+in `ulonglong=ulong*uint` multiplication
+is done in ulong, wrapping around on 32bit.
+
+This became visible after C/C changed the
+default charset to utf8, thus changing
+mbmaxlem from 1 to 3.
+---
+ tests/mysql_client_fw.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c
+index f69eb28a2871..4d036887629a 100644
+--- a/tests/mysql_client_fw.c
++++ b/tests/mysql_client_fw.c
+@@ -768,7 +768,7 @@ static void do_verify_prepare_field(MYSQL_RES *result,
+ {
+   MYSQL_FIELD *field;
+   CHARSET_INFO *cs;
+-  ulonglong expected_field_length;
++  ulonglong expected_field_length= length;
+ 
+   if (!(field= mysql_fetch_field_direct(result, no)))
+   {
+@@ -777,7 +777,7 @@ static void do_verify_prepare_field(MYSQL_RES *result,
+   }
+   cs= get_charset(field->charsetnr, 0);
+   DIE_UNLESS(cs);
+-  if ((expected_field_length= length * cs->mbmaxlen) > UINT_MAX32)
++  if ((expected_field_length*= cs->mbmaxlen) > UINT_MAX32)
+     expected_field_length= UINT_MAX32;
+   if (!opt_silent)
+   {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]