nix: Honor '--rounds' when also using '--check'.

Fixes <https://issues.guix.gnu.org/40144>.

Until now, the '--rounds' option, when also using '--check', was ignored.
This change makes it possible to use both, so that an item that has already
been built once can be rebuilt as many times as desired.

* nix/libstore/build.cc: Remove the conditionals causing the daemon to
complete a build task early when 'buildMode' is equal to 'nix::bmCheck'.

Reported-by: Brice Waegeneire <brice@waegenei.re>
This commit is contained in:
Maxim Cournoyer 2020-10-09 16:12:15 -04:00
parent 7ee4d47d1a
commit 0fa0e8df60
No known key found for this signature in database
GPG Key ID: 1260E46482E63562

View File

@ -1386,11 +1386,6 @@ void DerivationGoal::buildDone()
being valid. */
registerOutputs();
if (buildMode == bmCheck) {
done(BuildResult::Built);
return;
}
/* Delete unused redirected outputs (when doing hash rewriting). */
foreach (RedirectedOutputs::iterator, i, redirectedOutputs)
if (pathExists(i->second)) deletePath(i->second);
@ -2485,8 +2480,6 @@ void DerivationGoal::registerOutputs()
infos.push_back(info);
}
if (buildMode == bmCheck) return;
/* Compare the result with the previous round, and report which
path is different, if any.*/
if (curRound > 1 && prevInfos != infos) {