diff options
author | Florian Klink <flokli@flokli.de> | 2023-10-05T07·52+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-10-05T09·52+0000 |
commit | 7706a8f224d6277b7c4f32ffaf869dc7f28e643d (patch) | |
tree | 944140c800e01582a4faf1c0e0a975158c01c94e /tvix | |
parent | c67ab911ebdefddda5b05981834c783c0e7a3d7a (diff) |
refactor(tvix/store): mv *Err*::Invalid{Node,}DigestLen r/6705
There's other digests in the PathInfo structure, that also might have wrong digest lengths. Rename this to give some room for them, and update the error message a bit as we go. Change-Id: I06562664721156e658f2ed14ba1de907377d284b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9543 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
Diffstat (limited to 'tvix')
-rw-r--r-- | tvix/store/src/proto/mod.rs | 10 | ||||
-rw-r--r-- | tvix/store/src/proto/tests/pathinfo.rs | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/tvix/store/src/proto/mod.rs b/tvix/store/src/proto/mod.rs index f2bec10f1644..56a0225685ca 100644 --- a/tvix/store/src/proto/mod.rs +++ b/tvix/store/src/proto/mod.rs @@ -2,7 +2,7 @@ // https://github.com/hyperium/tonic/issues/1056 use nix_compat::store_path::{self, StorePath}; use thiserror::Error; -use tvix_castore::{proto as castorepb, B3Digest}; +use tvix_castore::{proto as castorepb, B3Digest, B3_LEN}; mod grpc_pathinfoservice_wrapper; @@ -31,8 +31,8 @@ pub enum ValidatePathInfoError { InvalidNodeName(Vec<u8>, store_path::Error), /// The digest the (root) node refers to has invalid length. - #[error("Invalid Digest length: {0}")] - InvalidDigestLen(usize), + #[error("Invalid Digest length: expected {}, got {}", B3_LEN, .0)] + InvalidNodeDigestLen(usize), /// The number of references in the narinfo.reference_names field does not match /// the number of references in the .references field. @@ -84,7 +84,7 @@ impl PathInfo { Some(castorepb::node::Node::Directory(directory_node)) => { // ensure the digest has the appropriate size. if TryInto::<B3Digest>::try_into(directory_node.digest.clone()).is_err() { - return Err(ValidatePathInfoError::InvalidDigestLen( + return Err(ValidatePathInfoError::InvalidNodeDigestLen( directory_node.digest.len(), )); } @@ -98,7 +98,7 @@ impl PathInfo { Some(castorepb::node::Node::File(file_node)) => { // ensure the digest has the appropriate size. if TryInto::<B3Digest>::try_into(file_node.digest.clone()).is_err() { - return Err(ValidatePathInfoError::InvalidDigestLen( + return Err(ValidatePathInfoError::InvalidNodeDigestLen( file_node.digest.len(), )); } diff --git a/tvix/store/src/proto/tests/pathinfo.rs b/tvix/store/src/proto/tests/pathinfo.rs index dfbeb831d7d2..a74b7c3f7ce5 100644 --- a/tvix/store/src/proto/tests/pathinfo.rs +++ b/tvix/store/src/proto/tests/pathinfo.rs @@ -43,7 +43,7 @@ fn validate_no_node( digest: Bytes::new(), size: 0, }, - Err(ValidatePathInfoError::InvalidDigestLen(0)); + Err(ValidatePathInfoError::InvalidNodeDigestLen(0)); "invalid digest length" )] #[test_case( @@ -88,7 +88,7 @@ fn validate_directory( digest: Bytes::new(), ..Default::default() }, - Err(ValidatePathInfoError::InvalidDigestLen(0)); + Err(ValidatePathInfoError::InvalidNodeDigestLen(0)); "invalid digest length" )] #[test_case( |