diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-01-11 17:11:14 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-01-24 00:01:49 +0100 |
commit | 6bfec3edf52ed6145c3c89fb19d350498dd2b758 (patch) | |
tree | 6474526e72c555688af6efd220b015ec4351fa50 /tests/store.scm | |
parent | 349fd3b11f320453ad8eeb3031621d0ffcaf078d (diff) | |
download | guix-6bfec3edf52ed6145c3c89fb19d350498dd2b758.tar guix-6bfec3edf52ed6145c3c89fb19d350498dd2b758.tar.gz |
store: Add 'register-path' procedure.
* guix/store.scm (register-path): New procedure.
* tests/store.scm ("register-path"): New test.
* guix/config.scm.in (%guix-register-program): New variable.
* configure.ac: Compute and substitute 'guix_sbindir'. Compute
'guix_prefix'.
* pre-inst-env.in: Define 'GUIX_REGISTER'.
Diffstat (limited to 'tests/store.scm')
-rw-r--r-- | tests/store.scm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/store.scm b/tests/store.scm index 4bd739e7f6..5ae036c060 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -389,6 +389,26 @@ Deriver: ~a~%" (pk 'corrupt-imported imported) #f))))) +(test-assert "register-path" + (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) + "-fake"))) + (when (valid-path? %store file) + (delete-paths %store (list file))) + (false-if-exception (delete-file file)) + + (let ((ref (add-text-to-store %store "ref-of-fake" (random-text))) + (drv (string-append file ".drv"))) + (call-with-output-file file + (cut display "This is a fake store item.\n" <>)) + (register-path file + #:references (list ref) + #:deriver drv) + + (and (valid-path? %store file) + (equal? (references %store file) (list ref)) + (null? (valid-derivers %store file)) + (null? (referrers %store file)))))) + (test-end "store") |