aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/nix.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-12-31 10:31:06 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-01-17 11:11:09 +0200
commit3ca02f03048fc1ef5c604d1ac566e0b75ab5a45f (patch)
tree649356d6a25f5486f7c9ec4f44d7abc3be3a0f47 /gnu/services/nix.scm
parent33136e0426f5722dea63e18a14e7f54cda530132 (diff)
downloadguix-3ca02f03048fc1ef5c604d1ac566e0b75ab5a45f.tar.gz
guix-3ca02f03048fc1ef5c604d1ac566e0b75ab5a45f.zip
system: Export default guile config.
* gnu/system/shadow.scm (%default-dotguile): Extract from default-skeletons, export. (default-skeletons): Use %default-dotguile. Change-Id: Ibe91b3b517ae542bd28070a08e14152f87ed75ec
Diffstat (limited to 'gnu/services/nix.scm')
0 files changed, 0 insertions, 0 deletions
he hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (test-base32) #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-64) #:use-module (ice-9 rdelim) #:use-module (ice-9 popen) #:use-module (ice-9 match) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports)) ;; Test the (guix base32) module. (define %nix-hash (or (and=> (getenv "NIX_HASH") (match-lambda ("" #f) (val val))) "nix-hash")) (define %have-nix-hash? ;; Note: Use `system', not `system*', because of <http://bugs.gnu.org/13166>. (false-if-exception (zero? (system (string-append %nix-hash " --version"))))) (test-begin "base32") (test-assert "bytevector->base32-string" (fold (lambda (bv expected result) (and result (string=? (bytevector->base32-string bv) expected))) #t ;; Examples from RFC 4648. (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar")) '("" "my" "mzxq" "mzxw6" "mzxw6yq" "mzxw6ytb" "mzxw6ytboi"))) (test-assert "base32-string->bytevector" (every (lambda (bv) (equal? (base32-string->bytevector (bytevector->base32-string bv)) bv)) ;; Examples from RFC 4648. (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar")))) (test-assert "nix-base32-string->bytevector" (every (lambda (bv) (equal? (nix-base32-string->bytevector (bytevector->nix-base32-string bv)) bv)) ;; Examples from RFC 4648. (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar")))) (test-equal "&invalid-base32-character" #\e (guard (c ((invalid-base32-character? c) (invalid-base32-character-value c))) (nix-base32-string->bytevector (string-append (make-string 51 #\a) "e")))) ;; The following test requires `nix-hash' in $PATH. (unless %have-nix-hash? (test-skip 1)) (test-assert "sha256 & bytevector->nix-base32-string" (let ((file (search-path %load-path "tests/test.drv"))) (equal? (bytevector->nix-base32-string (sha256 (call-with-input-file file get-bytevector-all))) (let* ((c (format #f "~a --type sha256 --base32 --flat \"~a\"" %nix-hash file)) (p (open-input-pipe c)) (l (read-line p))) (close-pipe p) l)))) (test-end)