diff options
author | Florian Klink <flokli@flokli.de> | 2023-10-11T11·09+0200 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2023-10-11T15·29+0000 |
commit | e64e97ee23bdcc0529036bd4cb66eabfd97cb45d (patch) | |
tree | 0db9024a16e941f4473e0dd4cd0623a1e0645bcb /tvix/store/src/proto/tests/pathinfo.rs | |
parent | 8ced43f3c79d61c91c88ad86b8f7b801b94d93f3 (diff) |
feat(tvix/store): validate nar_sha256 r/6786
Change-Id: I4c4dcdb75ea7748f2ab01a0bab218596b90b7b58 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9648 Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/proto/tests/pathinfo.rs')
-rw-r--r-- | tvix/store/src/proto/tests/pathinfo.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tvix/store/src/proto/tests/pathinfo.rs b/tvix/store/src/proto/tests/pathinfo.rs index 43a94e0d46ae..cfecbac3b82e 100644 --- a/tvix/store/src/proto/tests/pathinfo.rs +++ b/tvix/store/src/proto/tests/pathinfo.rs @@ -162,6 +162,19 @@ fn validate_references_with_narinfo_ok() { assert!(PATH_INFO_WITH_NARINFO.validate().is_ok()); } +/// Create a PathInfo with a wrong digest length in narinfo.nar_sha256, and +/// ensure validation fails. +#[test] +fn validate_wrong_nar_sha256() { + let mut path_info = PATH_INFO_WITH_NARINFO.clone(); + path_info.narinfo.as_mut().unwrap().nar_sha256 = vec![0xbe, 0xef].into(); + + match path_info.validate().expect_err("must_fail") { + ValidatePathInfoError::InvalidNarSha256DigestLen(2) => {} + e => panic!("unexpected error: {:?}", e), + }; +} + /// Create a PathInfo with a wrong count of narinfo.reference_names, /// and ensure validation fails. #[test] |