forked from lix-project/lix
Fix tests on systems with a non-master git defaultBranch #1
|
@ -1549,7 +1549,7 @@ Goal::Finished DerivationGoal::done(
|
||||||
}
|
}
|
||||||
|
|
||||||
return Finished{
|
return Finished{
|
||||||
.result = buildResult.success() ? ecSuccess : ecFailed,
|
.exitCode = buildResult.success() ? ecSuccess : ecFailed,
|
||||||
.ex = ex ? std::make_shared<Error>(std::move(*ex)) : nullptr,
|
.ex = ex ? std::make_shared<Error>(std::move(*ex)) : nullptr,
|
||||||
.permanentFailure = buildResult.status == BuildResult::PermanentFailure,
|
.permanentFailure = buildResult.status == BuildResult::PermanentFailure,
|
||||||
.timedOut = buildResult.status == BuildResult::TimedOut,
|
.timedOut = buildResult.status == BuildResult::TimedOut,
|
||||||
|
|
|
@ -124,7 +124,7 @@ public:
|
||||||
bool inBuildSlot;
|
bool inBuildSlot;
|
||||||
};
|
};
|
||||||
struct [[nodiscard]] Finished {
|
struct [[nodiscard]] Finished {
|
||||||
ExitCode result;
|
ExitCode exitCode;
|
||||||
std::shared_ptr<Error> ex;
|
std::shared_ptr<Error> ex;
|
||||||
bool permanentFailure = false;
|
bool permanentFailure = false;
|
||||||
bool timedOut = false;
|
bool timedOut = false;
|
||||||
|
|
|
@ -156,7 +156,7 @@ 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.exitCode;
|
||||||
goal->ex = f.ex;
|
goal->ex = f.ex;
|
||||||
|
|
||||||
permanentFailure |= f.permanentFailure;
|
permanentFailure |= f.permanentFailure;
|
||||||
|
@ -171,11 +171,11 @@ void Worker::goalFinished(GoalPtr goal, Goal::Finished & f)
|
||||||
|
|
||||||
waiting->trace(fmt("waitee '%s' done; %d left", goal->name, waiting->waitees.size()));
|
waiting->trace(fmt("waitee '%s' done; %d left", goal->name, waiting->waitees.size()));
|
||||||
|
|
||||||
if (f.result != Goal::ecSuccess) ++waiting->nrFailed;
|
if (f.exitCode != Goal::ecSuccess) ++waiting->nrFailed;
|
||||||
if (f.result == Goal::ecNoSubstituters) ++waiting->nrNoSubstituters;
|
if (f.exitCode == Goal::ecNoSubstituters) ++waiting->nrNoSubstituters;
|
||||||
if (f.result == Goal::ecIncompleteClosure) ++waiting->nrIncompleteClosure;
|
if (f.exitCode == Goal::ecIncompleteClosure) ++waiting->nrIncompleteClosure;
|
||||||
|
|
||||||
if (waiting->waitees.empty() || (f.result == Goal::ecFailed && !settings.keepGoing)) {
|
if (waiting->waitees.empty() || (f.exitCode == Goal::ecFailed && !settings.keepGoing)) {
|
||||||
/* If we failed and keepGoing is not set, we remove all
|
/* If we failed and keepGoing is not set, we remove all
|
||||||
remaining waitees. */
|
remaining waitees. */
|
||||||
for (auto & i : waiting->waitees) {
|
for (auto & i : waiting->waitees) {
|
||||||
|
|
Loading…
Reference in a new issue