guix-commits
[Top][All Lists]
Advanced

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

46/63: gnu: vulkan-loader: Enable tests.


From: guix-commits
Subject: 46/63: gnu: vulkan-loader: Enable tests.
Date: Tue, 26 May 2020 17:18:12 -0400 (EDT)

mbakke pushed a commit to branch staging2
in repository guix.

commit 6a8fca140d69141c91ea167e66d4daaad611261c
Author: Marius Bakke <address@hidden>
AuthorDate: Fri May 22 16:57:46 2020 +0200

    gnu: vulkan-loader: Enable tests.
    
    * gnu/packages/vulkan.scm (vulkan-loader)[arguments]: Remove #:tests? and
     #:configure-flags.  Add #:phases to unpack googletest and disable tests 
that
    cannot run in the build container.
    [native-inputs]: Add (PACKAGE-SOURCE GOOGLETEST).
---
 gnu/packages/vulkan.scm | 33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 30a8949..2239131 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -175,16 +175,29 @@ interpretation of the specifications for these 
languages.")
          "0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
-       #:configure-flags (list
-                          "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' 
submodule.
-                          (string-append "-DCMAKE_INSTALL_LIBDIR="
-                                         (assoc-ref %outputs "out") "/lib"))))
-    (native-inputs `(("libxrandr" ,libxrandr)
-                     ("pkg-config" ,pkg-config)
-                     ("python" ,python)
-                     ("vulkan-headers" ,vulkan-headers)
-                     ("wayland" ,wayland)))
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'unpack-googletest
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((gtest (assoc-ref inputs "googletest:source")))
+                        (when gtest
+                          (copy-recursively gtest "external/googletest"))
+                        #t)))
+                  (add-after 'unpack 'disable-loader-tests
+                    (lambda _
+                      ;; Many tests require a Vulkan driver.  Skip those.
+                      (substitute* "tests/loader_validation_tests.cpp"
+                        ((".*= vkCreateInstance.*" all)
+                         (string-append "GTEST_SKIP();\n" all))
+                        (("TEST_F.*InstanceExtensionEnumerated.*" all)
+                         (string-append all "\nGTEST_SKIP();\n")))
+                      #t)))))
+    (native-inputs
+     `(("googletest:source" ,(package-source googletest))
+       ("libxrandr" ,libxrandr)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("vulkan-headers" ,vulkan-headers)
+       ("wayland" ,wayland)))
     (home-page
      "https://github.com/KhronosGroup/Vulkan-Loader";)
     (synopsis "Khronos official ICD loader and validation layers for Vulkan")



reply via email to

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