[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#72106] [PATCH v2 2/5] gnu: klee: Enable the test suite.
From: |
Liliana Marie Prikler |
Subject: |
[bug#72106] [PATCH v2 2/5] gnu: klee: Enable the test suite. |
Date: |
Sun, 14 Jul 2024 20:53:49 +0200 |
User-agent: |
Evolution 3.48.4 |
Am Sonntag, dem 14.07.2024 um 20:25 +0200 schrieb
soeren@soeren-tempel.net:
> From: Sören Tempel <soeren@soeren-tempel.net>
>
> * 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')")))))
If this is a test, then we should use native-inputs below.
> (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))))
Why the package source and not the compiled package? Can we make it so
that we can use a prebuilt compiled one?
Cheers
- [bug#72106] [PATCH 0/3] gnu: klee: Enable test suite, soeren, 2024/07/14
- [bug#72106] [PATCH 2/3] gnu: klee: Enable the test suite., soeren, 2024/07/14
- [bug#72106] [PATCH 3/3] gnu: klee: Only strip bin directory., soeren, 2024/07/14
- [bug#72106] [PATCH 1/3] gnu: klee: Propagate Python dependencies needed by klee-stats., soeren, 2024/07/14
- [bug#72106] [PATCH 0/3] gnu: klee: Enable test suite, Liliana Marie Prikler, 2024/07/14
- [bug#72106] [PATCH v2 1/5] gnu: klee: Wrap klee-stats for Python dependencies., soeren, 2024/07/14
- [bug#72106] [PATCH v2 4/5] gnu: klee: Only build on x86_64 Linux., soeren, 2024/07/14
- [bug#72106] [PATCH v2 3/5] gnu: klee: Only strip bin directory., soeren, 2024/07/14
- [bug#72106] [PATCH v2 5/5] gnu: klee-uclibc: Only build on x86_64 Linux., soeren, 2024/07/14
[bug#72106] [PATCH v3 1/5] gnu: klee: Wrap klee-stats for Python dependencies., soeren, 2024/07/25