aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-07-18 00:49:08 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-07-26 14:38:02 +0200
commit3869f39e6d36cc66907ac0f6f2cf9463c5adff6f (patch)
tree38b5d002f61b73349d83380762bccebb6ed2e2bd /gnu/packages
parent5b4d2e40f1b2097c1f1ea6d1a0e701a1908011d4 (diff)
downloadguix-3869f39e6d36cc66907ac0f6f2cf9463c5adff6f.tar
guix-3869f39e6d36cc66907ac0f6f2cf9463c5adff6f.tar.gz
gnu: mariadb: Run the full test suite.
* gnu/packages/databases.scm (mariadb)[arguments]: Override 'check' phase. Add phase 'adjust-tests'. Disable one more plugin. [properties]: New field.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/databases.scm39
1 files changed, 38 insertions, 1 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 61b4268e9d..115ebe37f8 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -665,6 +665,29 @@ Language.")
"-DINSTALL_SHAREDIR=share")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-tests
+ (lambda _
+ (let ((disabled-tests
+ '(;; These fail because root@hostname == root@localhost in
+ ;; the build environment, causing a user count mismatch.
+ ;; See <https://jira.mariadb.org/browse/MDEV-7761>.
+ "main.join_cache"
+ "main.explain_non_select"
+ "roles.acl_statistics"))
+
+ ;; This file contains a list of known-flaky tests for this
+ ;; release. Append our own items.
+ (unstable-tests (open-file "mysql-test/unstable-tests" "a")))
+ (for-each (lambda (test)
+ (format unstable-tests "~a : ~a\n"
+ test "Disabled in Guix"))
+ disabled-tests)
+ (close-port unstable-tests)
+
+ (substitute* "mysql-test/mysql-test-run.pl"
+ (("/bin/ls") (which "ls"))
+ (("/bin/sh") (which "sh")))
+ #t)))
(add-before 'configure 'disable-plugins
(lambda _
(let ((disable-plugin (lambda (name)
@@ -675,7 +698,9 @@ Language.")
(format port "\n")))))
(disabled-plugins '(;; FIXME: On armhf-linux, this plugin
;; triggers a GCC ICE. Disable for now.
- "semisync")))
+ "semisync"
+ ;; XXX: Causes a test failure.
+ "disks")))
(for-each disable-plugin disabled-plugins)
#t)))
(add-before
@@ -683,6 +708,15 @@ Language.")
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
#t))
+ (replace 'check
+ (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (if tests?
+ (with-directory-excursion "mysql-test"
+ (invoke "./mtr" "--verbose"
+ "--parallel" (number->string (parallel-job-count))
+ "--skip-test-list=unstable-tests"))
+ (format #t "test suite not run~%"))
+ #t))
(add-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
@@ -708,6 +742,9 @@ Language.")
("openssl" ,openssl)
("pcre" ,pcre)
("zlib" ,zlib)))
+ ;; The test suite is very resource intensive and can take more than three
+ ;; hours on a x86_64 system. Give slow and busy machines some leeway.
+ (properties '((timeout . 64800))) ;18 hours
(home-page "https://mariadb.org/")
(synopsis "SQL database server")
(description