I've noticed that some¹ logs on hydra have lines like this one: phase `install-locale' succeeded after 0.0 seconds
while usually² it is: phase `install-locale' succeeded after 0 seconds The attached patch handles this milliseconds case. But I wonder why does it happen? ‘gnu-build’ procedure from (guix build gnu-build-system) module uses ‘gettimeofday’ to calculate these seconds. And according to the manual (info "(guile) Time"): «whether true microsecond resolution is available depends on the operating system». But why both "0" and "0.0" can be met on hydra? [1] http://hydra.gnu.org/build/691944/log/raw [2] http://hydra.gnu.org/build/623040/log/raw
>From d71386016b43a62784ca6c4415069581af5f3eb2 Mon Sep 17 00:00:00 2001 From: Alex Kost <[email protected]> Date: Thu, 24 Sep 2015 16:10:14 +0300 Subject: [PATCH] emacs: build-log: Improve regexp for the phase end. * emacs/guix-build-log.el (guix-build-log-phase-end-regexp): Handle fractional number of seconds (like "0.8"). --- emacs/guix-build-log.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs/guix-build-log.el b/emacs/guix-build-log.el index 6faa37c..9ce30bd 100644 --- a/emacs/guix-build-log.el +++ b/emacs/guix-build-log.el @@ -141,7 +141,7 @@ STATE is a symbol denoting how a build phase was ended. It should be (rx-to-string `(and bol "phase " (regexp ,guix-build-log-phase-name-regexp) " " (group (regexp ,state-rx)) " after " - (group (1+ digit)) " seconds") + (group (1+ (or digit "."))) " seconds") t))) (defvar guix-build-log-phase-end-regexp -- 2.5.0
