forked from lix-project/lix
Fix tests on systems with a non-master git defaultBranch #1
|
@ -1544,6 +1544,10 @@ Goal::Finished DerivationGoal::done(
|
||||||
fs << worker.store.printStorePath(drvPath) << "\t" << buildResult.toString() << std::endl;
|
fs << worker.store.printStorePath(drvPath) << "\t" << buildResult.toString() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ex && isDependency) {
|
||||||
|
logError(ex->info());
|
||||||
|
}
|
||||||
|
|
||||||
return Finished{
|
return Finished{
|
||||||
.result = buildResult.success() ? ecSuccess : ecFailed,
|
.result = buildResult.success() ? ecSuccess : ecFailed,
|
||||||
.ex = ex ? std::make_shared<Error>(std::move(*ex)) : nullptr,
|
.ex = ex ? std::make_shared<Error>(std::move(*ex)) : nullptr,
|
||||||
|
|
|
@ -157,19 +157,13 @@ void Worker::goalFinished(GoalPtr goal, Goal::Finished & f)
|
||||||
goal->trace("done");
|
goal->trace("done");
|
||||||
assert(!goal->exitCode.has_value());
|
assert(!goal->exitCode.has_value());
|
||||||
goal->exitCode = f.result;
|
goal->exitCode = f.result;
|
||||||
|
goal->ex = f.ex;
|
||||||
|
|
||||||
permanentFailure |= f.permanentFailure;
|
permanentFailure |= f.permanentFailure;
|
||||||
timedOut |= f.timedOut;
|
timedOut |= f.timedOut;
|
||||||
hashMismatch |= f.hashMismatch;
|
hashMismatch |= f.hashMismatch;
|
||||||
checkMismatch |= f.checkMismatch;
|
checkMismatch |= f.checkMismatch;
|
||||||
|
|
||||||
if (f.ex) {
|
|
||||||
if (!goal->waiters.empty())
|
|
||||||
logError(f.ex->info());
|
|
||||||
else
|
|
||||||
goal->ex = f.ex;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto & i : goal->waiters) {
|
for (auto & i : goal->waiters) {
|
||||||
if (GoalPtr waiting = i.lock()) {
|
if (GoalPtr waiting = i.lock()) {
|
||||||
assert(waiting->waitees.count(goal));
|
assert(waiting->waitees.count(goal));
|
||||||
|
|
Loading…
Reference in a new issue