From patchwork Sun Jul 14 18:25:25 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: 29306 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 3E61027BBE9; Sun, 14 Jul 2024 19:26:14 +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 EDB1227BBE2 for ; Sun, 14 Jul 2024 19:26:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sT3v8-0001Gy-Hj; Sun, 14 Jul 2024 14:26:02 -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 1sT3v7-0001GQ-1C for guix-patches@gnu.org; Sun, 14 Jul 2024 14:26: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 1sT3v6-0005y5-LF for guix-patches@gnu.org; Sun, 14 Jul 2024 14:26:00 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sT3v8-0005vI-50 for guix-patches@gnu.org; Sun, 14 Jul 2024 14:26:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#72106] [PATCH v2 2/5] 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 18:26: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.172098154322696 (code B ref 72106); Sun, 14 Jul 2024 18:26:02 +0000 Received: (at 72106) by debbugs.gnu.org; 14 Jul 2024 18:25:43 +0000 Received: from localhost ([127.0.0.1]:58555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sT3uo-0005tz-R9 for submit@debbugs.gnu.org; Sun, 14 Jul 2024 14:25:43 -0400 Received: from magnesium.8pit.net ([45.76.88.171]:38211) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sT3ul-0005ta-5L; Sun, 14 Jul 2024 14:25:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=opensmtpd; bh=dt7AlBh4 0ARHFDBM7ecjCCLfhwNxcqmY4uiadEWfKsU=; h=references:in-reply-to:date: subject:cc:to:from; d=soeren-tempel.net; b=C4IVaiH7YBudSsWqwLcgI4s5+XO r1Txcw22EHOF9Kme1wVlRS9A3LID8L5lSkXEJjWqcvkrL5k7Pdo1rfLc2ba3pB/veM9jhv DzfLrFiyu4oM1tk4s7QARQcps+dnBr5gQisfv45+ka7w7YM0tHh/+2ApE6/809RNzsVzUT 5X+I= 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 bedb9c07 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:YES); Sun, 14 Jul 2024 20:25:35 +0200 (CEST) From: soeren@soeren-tempel.net Date: Sun, 14 Jul 2024 20:25:25 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: <3ba31459921293a61ca8933ce7395f4a6d58b559.1720981528.git.soeren@soeren-tempel.net> References: <3ba31459921293a61ca8933ce7395f4a6d58b559.1720981528.git.soeren@soeren-tempel.net> 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 | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 6b0ea0aaa8..552cb39de5 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-klee-stats (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1088,7 +1098,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++")) @@ -1096,7 +1112,15 @@ (define-public klee (search-input-file %build-inputs "/lib/klee/libc.a")) "-DENABLE_POSIX_RUNTIME=ON"))) (native-inputs (list clang-13 llvm-13 python-lit)) - (inputs (list bash-minimal klee-uclibc gperftools sqlite z3 python python-tabulate)) + (inputs + `(("bash-minimal" ,bash-minimal) + ("klee-uclibc" ,klee-uclibc) + ("gperftools" ,gperftools) + ("sqlite" ,sqlite) + ("z3" ,z3) + ("python", python) + ("python-tabulate" ,python-tabulate) + ("googletest" ,(package-source googletest)))) (build-system cmake-build-system) (home-page "https://klee-se.org/") (synopsis "Symbolic execution engine")