fix(tvix): Add missing break;s to BuildResult::FromProto
Add missing break statements to the big switch block in BuildResult::FromProto, and cover the whole thing with a rapidcheck round-trip test. Change-Id: I7a07ca398cc5f02ca4fd8e6256fd563c6f3aea9d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2178 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
This commit is contained in:
parent
49024be056
commit
6f38ac6657
3 changed files with 72 additions and 0 deletions
13
third_party/nix/src/libstore/store-api.cc
vendored
13
third_party/nix/src/libstore/store-api.cc
vendored
|
|
@ -97,30 +97,43 @@ std::optional<BuildResult> BuildResult::FromProto(
|
|||
switch (resp.status()) {
|
||||
case proto::BuildStatus::Built:
|
||||
result.status = BuildResult::Status::Built;
|
||||
break;
|
||||
case proto::BuildStatus::Substituted:
|
||||
result.status = BuildResult::Status::Substituted;
|
||||
break;
|
||||
case proto::BuildStatus::AlreadyValid:
|
||||
result.status = BuildResult::Status::AlreadyValid;
|
||||
break;
|
||||
case proto::BuildStatus::PermanentFailure:
|
||||
result.status = BuildResult::Status::PermanentFailure;
|
||||
break;
|
||||
case proto::BuildStatus::InputRejected:
|
||||
result.status = BuildResult::Status::InputRejected;
|
||||
break;
|
||||
case proto::BuildStatus::OutputRejected:
|
||||
result.status = BuildResult::Status::OutputRejected;
|
||||
break;
|
||||
case proto::BuildStatus::TransientFailure:
|
||||
result.status = BuildResult::Status::TransientFailure;
|
||||
break;
|
||||
case proto::BuildStatus::CachedFailure:
|
||||
result.status = BuildResult::Status::CachedFailure;
|
||||
break;
|
||||
case proto::BuildStatus::TimedOut:
|
||||
result.status = BuildResult::Status::TimedOut;
|
||||
break;
|
||||
case proto::BuildStatus::MiscFailure:
|
||||
result.status = BuildResult::Status::MiscFailure;
|
||||
break;
|
||||
case proto::BuildStatus::DependencyFailed:
|
||||
result.status = BuildResult::Status::DependencyFailed;
|
||||
break;
|
||||
case proto::BuildStatus::LogLimitExceeded:
|
||||
result.status = BuildResult::Status::LogLimitExceeded;
|
||||
break;
|
||||
case proto::BuildStatus::NotDeterministic:
|
||||
result.status = BuildResult::Status::NotDeterministic;
|
||||
break;
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue