aboutsummaryrefslogtreecommitdiff
path: root/tests/build-utils.scm
Commit message (Collapse)AuthorAge
* Properly deal with build directories containing '~'.Ludovic Courtès2020-11-16
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/44626>. Reported by Vagrant Cascadian <vagrant@debian.org>. * tests/build-utils.scm ("wrap-script, simple case"): Pass SCRIPT-CONTENTS to 'display' rather than 'format'. * gnu/services/base.scm (file-system->shepherd-service-name) [valid-characters, mount-point]: New variables. Filter out invalid store file name characters from the mount point of FILE-SYSTEM.
* tests: Avoid unnecessary use of 'mock'.Ludovic Courtès2019-11-26
| | | | | * tests/build-utils.scm ("wrap-script, simple case"): Use the real 'which' instead of mocking it.
* tests: Avoid (catch 'srfi-34 …) form.Ludovic Courtès2019-11-26
| | | | | * tests/build-utils.scm ("wrap-script, raises condition"): Use 'guard' instead of "catch 'srfi-34".
* utils: Add 'invoke/quiet'.Ludovic Courtès2019-06-17
| | | | | | | | | | | * gnu/build/bootloader.scm (G_): Remove. (open-pipe-with-stderr, invoke/quiet): Move to... * guix/build/utils.scm: ... here. Use 'let-values' instead of 'define-values' because Guile 2.0 (the bootstrap Guile) doesn't know about 'define-values'. * po/guix/POTFILES.in: Remove gnu/build/bootloader.scm, and add guix/build/utils.scm. * tests/build-utils.scm: Remove import of (gnu build bootloader).
* Merge branch 'staging' into core-updatesMarius Bakke2019-03-23
|\
| * booloader: Add 'invoke/quiet'.Ludovic Courtès2019-03-16
| | | | | | | | | | | | | | | | | | * gnu/build/bootloader.scm (G_): New macro. (open-pipe-with-stderr, invoke/quiet): New procedures. * tests/build-utils.scm ("invoke/quiet, success") ("invoke/quiet, failure") ("invoke/quiet, failure, message on stderr"): New tests. * po/guix/POTFILES.in: Add bootloader.scm.
| * tests: Add 'with-environment-variable'.Ludovic Courtès2019-03-16
| | | | | | | | | | | | | | * tests/scripts.scm (with-environment-variable): Move to... * guix/tests.scm (with-environment-variable): ... here. * tests/build-utils.scm ("wrap-program, one input, multiple calls"): Use it instead of 'setenv'.
* | guix: Add wrap-script.Ricardo Wurmus2019-02-08
|/ | | | | | | | * guix/build/utils.scm (wrap-script): New procedure. (&wrap-error): New condition. (wrap-error?, wrap-error-program, wrap-error-type): New procedures. * tests/build-utils.scm ("wrap-script, simple case", "wrap-script, with encoding declaration", "wrap-script, raises condition"): New tests.
* utils: 'wrap-program' produces only one wrapper file.Ludovic Courtès2016-09-07
| | | | | | | | | | * guix/build/utils.scm (wrap-program)[wrapper-file-name] [next-wrapper-number, wrapper-target]: Remove. [wrapped-file, already-wrapped?]: New variables. [last-line]: New procedure. Use it to append to PROG when a wrapper already exists. * tests/build-utils.scm ("wrap-program, one input, multiple calls"): Adjust the list of files to delete.
* tests: Test 'wrap-program' without building a package.Ludovic Courtès2016-09-02
| | | | | | * tests/build-utils.scm (%store): Remove. ("wrap-program, one input, multiple calls"): Rewrite without resorting to packages and derivations.
* build: Add a Guile custom test driver using SRFI-64.Mathieu Lirzin2016-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before that '.log' files for scheme tests were fragmented and not included in test-suite.log. This unifies the semantics of SRFI-64 API with Automake test suite. * build-aux/test-driver.scm: New file. * Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables. (SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables. (AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0. * test-env.in: Silence guix-daemon. * doc/guix.texi (Running the Test Suite): Describe how to display the detailed results. Bug reports require only 'test-suite.log' file. * tests/base32.scm, tests/build-utils.scm, tests/builders.scm, tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm, tests/cve.scm, tests/derivations.scm, tests/elpa.scm, tests/file-systems.scm, tests/gem.scm, tests/gexp.scm, tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm, tests/gremlin.scm, tests/hackage.scm, tests/hash.scm, tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm, tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm, tests/profiles.scm, tests/publish.scm, tests/pypi.scm, tests/records.scm, tests/scripts-build.scm, tests/scripts.scm, tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm, tests/store.scm, tests/substitute.scm, tests/syscalls.scm, tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm, tests/utils.scm: Don't exit at the end of test groups. * tests/containers.scm: Likewise. Use 'test-skip' instead of exiting with error code 77.
* tests: Unset 'LOCPATH' before running bootstrap program.Ludovic Courtès2015-09-24
| | | | | | | Reported by Mark H Weaver <mhw@netris.org>. * tests/build-utils.scm ("wrap-program, one input, multiple calls"): Add 'unsetenv' call.
* utils: Allow wrap-program to be called multiple times.Eric Bavier2014-09-13
| | | | | | | | * guix/build/utils.scm (wrap-program): Multiple invocations of wrap-program for the same file create successive wrappers. Adjust docstring. * tests/build-utils.scm: Test new wrap-program behavior. (%store): New variable.
* Augment `.dir-locals.el'.Ludovic Courtès2013-02-01
| | | | | | | | * .dir-locals.el: Add more Scheme settings. * guix-build.in, tests/base32.scm, tests/build-utils.scm, tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm: Remove redundant Emacs local variable settings.
* Update license headers.Ludovic Courtès2013-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
* utils: Add `fold-port-matches' and `remove-store-references'.Ludovic Courtès2012-10-16
| | | | | | | | * guix/build/utils.scm (fold-port-matches, remove-store-references): New procedures. * tests/build-utils.scm ("fold-port-matches", "fold-port-matches, trickier", "fold-port-matches, with unmatched chars"): New tests.
* Add builder-side utilities for phases, stream editing, & co.Ludovic Courtès2012-07-05
* guix/build/utils.scm (with-directory-excursion): New macro. (alist-cons-before, alist-cons-after, alist-replace): New procedures. (substitute): New procedure. * tests/build-utils.scm: New file. * Makefile.am (TESTS): Add `tests/build-utils.scm'.