[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/04: daemon: Emit a 'build-succeeded' event in check mode.
From: |
guix-commits |
Subject: |
01/04: daemon: Emit a 'build-succeeded' event in check mode. |
Date: |
Wed, 6 Feb 2019 17:06:25 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit d59124280851c5d62b6ecf5aa07f6b4f6520a0e5
Author: Ludovic Courtès <address@hidden>
Date: Tue Feb 5 22:58:13 2019 +0100
daemon: Emit a 'build-succeeded' event in check mode.
Until now, something like "guix build sed -v1 --check" would not get a
'build-succeeded' event, which in turn meant that the spinner would not
be erased upon build completion.
* nix/libstore/build.cc (DerivationGoal::registerOutputs): When
'buildMode' is bmCheck and 'settings.printBuildTrace' emit a
"@ build-succeeded" trace upon success.
* tests/store.scm ("build-succeeded trace in check mode"): New test.
---
nix/libstore/build.cc | 4 ++++
tests/store.scm | 13 +++++++++++++
2 files changed, 17 insertions(+)
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index f4a866c..06bc760 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -2502,6 +2502,10 @@ void DerivationGoal::registerOutputs()
throw Error(format("derivation `%1%' may not be
deterministic: output `%2%' differs")
% drvPath % path);
}
+
+ if (settings.printBuildTrace)
+ printMsg(lvlError, format("@ build-succeeded %1% -") %
drvPath);
+
continue;
}
diff --git a/tests/store.scm b/tests/store.scm
index e28c0c5..df66fea 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -917,6 +917,19 @@
(build-mode check))
#f))))))))
+(test-assert "build-succeeded trace in check mode"
+ (string-contains
+ (call-with-output-string
+ (lambda (port)
+ (let ((d (build-expression->derivation
+ %store "foo" '(mkdir (assoc-ref %outputs "out"))
+ #:guile-for-build
+ (package-derivation %store %bootstrap-guile))))
+ (build-derivations %store (list d))
+ (parameterize ((current-build-output-port port))
+ (build-derivations %store (list d) (build-mode check))))))
+ "@ build-succeeded"))
+
(test-assert "build multiple times"
(with-store store
;; Ask to build twice.