summary refs log tree commit diff
path: root/nix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-05 22:58:13 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-06 23:06:18 +0100
commitd59124280851c5d62b6ecf5aa07f6b4f6520a0e5 (patch)
tree82bb4b00005a0816f5136660fda6a8c8d5b2121f /nix
parent25945666e3dfb7f81e984bb8a3c9ec1d20730558 (diff)
downloadguix-d59124280851c5d62b6ecf5aa07f6b4f6520a0e5.tar.gz
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.
Diffstat (limited to 'nix')
-rw-r--r--nix/libstore/build.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index f4a866c68f..06bc7601b9 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;
         }