diff options
author | Marius Bakke <marius@gnu.org> | 2020-05-26 22:38:12 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2020-05-26 22:38:12 +0200 |
commit | 8a7a5dc7805f4628e60f90af6b2416f951d0c034 (patch) | |
tree | 63f13443ea5c9e7ee5bb219fc9ff4f1eacfbf21a /tests/packages.scm | |
parent | c37b621cf3f0cd9c06677b4be6f931d927e7fea5 (diff) | |
parent | 8bd0b533b30d7ee5e03aee99a2eb96d5b0b1c836 (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'tests/packages.scm')
-rw-r--r-- | tests/packages.scm | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/packages.scm b/tests/packages.scm index c528d2080c..d8f0d677a3 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -29,7 +29,7 @@ #:renamer (lambda (name) (cond ((eq? name 'location) 'make-location) (else name)))) - #:use-module (gcrypt hash) + #:use-module ((gcrypt hash) #:prefix gcrypt:) #:use-module (guix derivations) #:use-module (guix packages) #:use-module (guix grafts) @@ -51,6 +51,7 @@ #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-64) + #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) #:use-module (ice-9 vlist) #:use-module (ice-9 regex) @@ -497,6 +498,32 @@ (search-path %load-path "guix/base32.scm") get-bytevector-all))))) +(test-equal "package-source-derivation, origin, sha512" + "hello" + (let* ((bash (search-bootstrap-binary "bash" (%current-system))) + (builder (add-text-to-store %store "my-fixed-builder.sh" + "echo -n hello > $out" '())) + (method (lambda* (url hash-algo hash #:optional name + #:rest rest) + (and (eq? hash-algo 'sha512) + (raw-derivation name bash (list builder) + #:sources (list builder) + #:hash hash + #:hash-algo hash-algo)))) + (source (origin + (method method) + (uri "unused://") + (file-name "origin-sha512") + (hash (content-hash + (gcrypt:bytevector-hash (string->utf8 "hello") + (gcrypt:lookup-hash-algorithm + 'sha512)) + sha512)))) + (drv (package-source-derivation %store source)) + (output (derivation->output-path drv))) + (build-derivations %store (list drv)) + (call-with-input-file output get-string-all))) + (unless (network-reachable?) (test-skip 1)) (test-equal "package-source-derivation, snippet" "OK" |