aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-05-10 15:25:07 +0200
committerLudovic Courtès <ludo@gnu.org>2017-05-10 22:05:21 +0200
commit30d2397f73d6fa9e77eed70ec6df8afd3b9f5f5e (patch)
tree7e1b8f572aac629d2697b54517cfe6e25dccfbda
parentaf8f8281db99fb4cde06f24a84caea32b0821c79 (diff)
downloadguix-30d2397f73d6fa9e77eed70ec6df8afd3b9f5f5e.tar
guix-30d2397f73d6fa9e77eed70ec6df8afd3b9f5f5e.tar.gz
ui: 'string->duration' correctly handles hours.
* guix/ui.scm (string->duration): Add missing '=>' for hours. * tests/ui.scm ("duration, 2 hours"): New test.
-rw-r--r--guix/ui.scm1
-rw-r--r--tests/ui.scm6
2 files changed, 6 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index e551d48c33..e7cb40927b 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1008,6 +1008,7 @@ following patterns: \"1d\", \"1w\", \"1m\"."
(make-time time-duration 0
(string->number (match:substring match 1)))))
((string-match "^([0-9]+)h$" str)
+ =>
(lambda (match)
(hours->duration 1 match)))
((string-match "^([0-9]+)d$" str)
diff --git a/tests/ui.scm b/tests/ui.scm
index cfe417d497..1e98e3534b 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,6 +189,10 @@ Second line" 24))
(string->duration "1m")
(string->duration "30d"))
+(test-equal "duration, 2 hours"
+ 7200
+ (time-second (string->duration "2h")))
+
(test-equal "duration, 1 second"
(make-time time-duration 0 1)
(string->duration "1s"))