guix-commits
[Top][All Lists]
Advanced

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

02/02: gnu: Run some tests in the mongodb package check phase.


From: Christopher Baines
Subject: 02/02: gnu: Run some tests in the mongodb package check phase.
Date: Wed, 27 Dec 2017 08:28:50 -0500 (EST)

cbaines pushed a commit to branch master
in repository guix.

commit 90205b625e947b4ff5286696c8a9d221a2e0326b
Author: Christopher Baines <address@hidden>
Date:   Wed Dec 27 10:20:24 2017 +0000

    gnu: Run some tests in the mongodb package check phase.
    
    Previously the mongodb dbtests and unittests were only built, and not 
actually
    run.
    
    * gnu/packages/databases.scm (mongodb)[native-inputs]: Add python2-minimal,
      python2-pymongo and python2-pyyaml for running the resmoke.py program, and
      add tzdata as some tests fail without this.
      [arguments]: Run the tests through the resmoke.py script in the check 
phase,
      set TZDIR as a couple of tests seem to depend on this, add a comment about
      the resource requirements of the tests, as they require a large amount of
      disk space, and disable the async_stream_test, as it seems to hang.
---
 gnu/packages/databases.scm | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 7c0c5c0..6306846 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -412,7 +412,11 @@ applications.")
        ("snappy" ,snappy)))
     (native-inputs
      `(("valgrind" ,valgrind)
-       ("perl" ,perl)))
+       ("perl" ,perl)
+       ("python" ,python2-minimal)
+       ("python2-pymongo" ,python2-pymongo)
+       ("python2-pyyaml" ,python2-pyyaml)
+       ("tzdata" ,tzdata)))
     (arguments
      `(#:scons ,scons-python2
        #:phases
@@ -460,12 +464,29 @@ applications.")
                                ,@common-options
                                "mongod" "mongo" "mongos")))))
            (replace 'check
-             (lambda* (#:key tests? #:allow-other-keys)
+             (lambda* (#:key tests? inputs #:allow-other-keys)
+               (setenv "TZDIR"
+                       (string-append (assoc-ref inputs "tzdata")
+                                      "/share/zoneinfo"))
                (or (not tests?)
-                   (zero? (apply system*
-                                 `("scons"
-                                   ,@common-options
-                                   "dbtest" "unittests"))))))
+                   ;; Note that with the tests, especially the unittests, the
+                   ;; build can take up to ~45GB of space, as many tests are
+                   ;; individual executable files, with some being hundreds of
+                   ;; megabytes in size.
+                   (begin
+                    (apply
+                      invoke `("scons" ,@common-options "dbtest" "unittests"))
+                     (substitute* "build/unittests.txt"
+                       ;; TODO: Don't run the async_stream_test, as it hangs
+                       
(("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
+                        "")
+                       ;; TODO: This test fails
+                       ;; Expected 0UL != disks.size() (0 != 0) 
@src/mongo/util/procparser_test.cpp:476
+                       (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
+                        ""))
+                    (invoke "python" "buildscripts/resmoke.py"
+                            "--suites=dbtest,unittests"
+                             (format #f  "--jobs=~a" (parallel-job-count)))))))
            (replace 'install
              (lambda _
                (let ((bin  (string-append (assoc-ref %outputs "out") "/bin")))



reply via email to

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