diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-07-18 00:49:08 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-07-26 14:38:02 +0200 |
commit | 3869f39e6d36cc66907ac0f6f2cf9463c5adff6f (patch) | |
tree | 38b5d002f61b73349d83380762bccebb6ed2e2bd | |
parent | 5b4d2e40f1b2097c1f1ea6d1a0e701a1908011d4 (diff) | |
download | patches-3869f39e6d36cc66907ac0f6f2cf9463c5adff6f.tar patches-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.
-rw-r--r-- | gnu/packages/databases.scm | 39 |
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 |