From patchwork Sun Jul 14 10:42:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?S=C3=B6ren_Tempel?= X-Patchwork-Id: 29281 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C528927BBE9; Sun, 14 Jul 2024 11:43:24 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6B56127BBE2 for ; Sun, 14 Jul 2024 11:43:24 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sSwh5-0004rn-FR; Sun, 14 Jul 2024 06:43:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sSwh3-0004r3-TL for guix-patches@gnu.org; Sun, 14 Jul 2024 06:43:01 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sSwh3-0001Ro-L6 for guix-patches@gnu.org; Sun, 14 Jul 2024 06:43:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sSwh4-00083T-Ve for guix-patches@gnu.org; Sun, 14 Jul 2024 06:43:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#72106] [PATCH 2/3] gnu: klee: Enable the test suite. Resent-From: soeren@soeren-tempel.net Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Jul 2024 10:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72106 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72106@debbugs.gnu.org Cc: liliana.prikler@gmail.com Received: via spool by 72106-submit@debbugs.gnu.org id=B72106.172095375130899 (code B ref 72106); Sun, 14 Jul 2024 10:43:02 +0000 Received: (at 72106) by debbugs.gnu.org; 14 Jul 2024 10:42:31 +0000 Received: from localhost ([127.0.0.1]:57199 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sSwgZ-00082I-0c for submit@debbugs.gnu.org; Sun, 14 Jul 2024 06:42:31 -0400 Received: from magnesium.8pit.net ([45.76.88.171]:33611) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sSwgV-00081p-FS; Sun, 14 Jul 2024 06:42:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=opensmtpd; bh=jK/OlAnR Dsq7BtWFQ5XGXZgWYNcElHQv1Hr0fJcomek=; h=references:in-reply-to:date: subject:cc:to:from; d=soeren-tempel.net; b=Tc5wlt0lks2kwf/AnzgYNyNXC6U J9nDWl4FYiPLhZt9FzNSJUjcl4cGWRvW61Pba3QjdkqIM1rgH5O0itPjRAC39qrxAuQodH jp5UDhmL/vDfxTMaaIVYYBGhYYundawfssUF7Xe0ke+eXRVqg8DyZkA+VEUYcGuitSFlbH jwLI= Received: from localhost (dynamic-2a02-3102-49da-001b-720e-aee8-aafa-f98d.310.pool.telefonica.de [2a02:3102:49da:1b:720e:aee8:aafa:f98d]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 824deea9 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:YES); Sun, 14 Jul 2024 12:42:25 +0200 (CEST) From: soeren@soeren-tempel.net Date: Sun, 14 Jul 2024 12:42:14 +0200 Message-ID: <3628ef5ffdfff900c749131956e3109dbd813493.1720953093.git.soeren@soeren-tempel.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Sören Tempel * gnu/packages/check.scm (klee): Enable all tests. [arguments]: Add phase to patch lit configuration, set #:test-target. <#:configure-flags?>: Enable system and unit tests, configure gtest. [inputs]: Add googletest and python-lit. --- gnu/packages/check.scm | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index f31e1bdb36..14d7124908 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1063,13 +1063,23 @@ (define-public klee (base32 "1nma6dqi8chjb97llsa8mzyskgsg4dx56lm8j514j5wmr8vkafz6")))) (arguments (list + #:test-target "check" #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'patch + (add-after 'unpack 'patch-cmake (lambda _ (substitute* "CMakeLists.txt" (("\\$\\{KLEE_UCLIBC_PATH\\}/lib/libc\\.a") "${KLEE_UCLIBC_PATH}")))) + (add-after 'unpack 'patch-lit-config + (lambda _ + ;; Make sure that we retain the value of the GUIX_PYTHONPATH + ;; environment variable in the test environmented created by + ;; python-lit. Otherwise, the test scripts won't be able to + ;; find the python-tabulate dependency, causing test failures. + (substitute* "test/lit.cfg" + (("addEnv\\('PWD'\\)" env) + (string-append env "\n" "addEnv('GUIX_PYTHONPATH')"))))) (add-after 'install 'wrap-hooks (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1080,7 +1090,13 @@ (define-public klee `("KLEE_RUNTIME_LIBRARY_PATH" = (,(string-append lib "/klee/runtime/")))))))) #:configure-flags - #~(list (string-append "-DLLVMCC=" + #~(list "-DENABLE_UNIT_TESTS=ON" + "-DENABLE_SYSTEM_TESTS=ON" + (string-append "-DGTEST_SRC_DIR=" + (assoc-ref %build-inputs "googletest")) + (string-append "-DGTEST_INCLUDE_DIR=" + (assoc-ref %build-inputs "googletest") "/googletest/include") + (string-append "-DLLVMCC=" (search-input-file %build-inputs "/bin/clang")) (string-append "-DLLVMCXX=" (search-input-file %build-inputs "/bin/clang++")) @@ -1090,7 +1106,14 @@ (define-public klee ;; klee-stats tool (shipped in /bin) requires Python. (propagated-inputs (list python python-tabulate)) (native-inputs (list clang-13 llvm-13 python-lit)) - (inputs (list bash-minimal klee-uclibc gperftools sqlite z3)) + (inputs + `(("bash-minimal" ,bash-minimal) + ("klee-uclibc" ,klee-uclibc) + ("gperftools" ,gperftools) + ("sqlite" ,sqlite) + ("z3" ,z3) + ("python-lit" ,python-lit) + ("googletest" ,(package-source googletest)))) (build-system cmake-build-system) (home-page "https://klee-se.org/") (synopsis "Symbolic execution engine")