uuid: 'uuid' returns #f when 'string->uuid' returns #f.

* gnu/system/uuid.scm (uuid): When STR is not a literal, return #f when
'string->uuid' returns #f.
* tests/uuid.scm ("uuid, dynamic value"): New test.
This commit is contained in:
Ludovic Courtès 2018-05-18 22:20:33 +02:00
parent a48d345041
commit 263c9941a1
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 15 additions and 5 deletions

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -57,6 +57,13 @@
"1234-ABCD"
(uuid->string (uuid "1234-abcd" 'fat32)))
(test-assert "uuid, dynamic value"
(let* ((good "4dab5feb-d176-45de-b287-9b0a6e4c01cb")
(bad (string-drop good 3)))
(and (uuid? (uuid good))
(string=? good (uuid->string (uuid good)))
(not (uuid bad)))))
(test-assert "uuid=?"
(and (uuid=? (uuid-bytevector (uuid "1234-abcd" 'fat32))
(uuid "1234-abcd" 'fat32))