diff options
author | Florian Klink <flokli@flokli.de> | 2024-08-17T19·00+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-08-18T17·22+0000 |
commit | 56fa533e438bd367aa5cae6fa505508aced42156 (patch) | |
tree | 5e2624f28f946a1753a49d8a321acd627bfc9624 /tvix/castore/src/proto/tests/directory.rs | |
parent | 0cfe2aaf6a412e495e63372c6e3f01039f371f90 (diff) |
refactor(tvix/castore): have PathComponent-specific errors r/8513
Don't use DirectoryError, but PathComponentError. Also add checks for too long path components. Change-Id: Ia9deb9dd0351138baadb2e9c9454c3e019d5a45e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12229 Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu>
Diffstat (limited to 'tvix/castore/src/proto/tests/directory.rs')
-rw-r--r-- | tvix/castore/src/proto/tests/directory.rs | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/tvix/castore/src/proto/tests/directory.rs b/tvix/castore/src/proto/tests/directory.rs index 26c434ab46c0..efbc4e9f2af1 100644 --- a/tvix/castore/src/proto/tests/directory.rs +++ b/tvix/castore/src/proto/tests/directory.rs @@ -161,12 +161,9 @@ fn validate_invalid_names() { }], ..Default::default() }; - match crate::Directory::try_from(d).expect_err("must fail") { - DirectoryError::InvalidName(n) => { - assert_eq!(n.as_ref(), b"\0") - } - _ => panic!("unexpected error"), - }; + + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); } { @@ -178,12 +175,8 @@ fn validate_invalid_names() { }], ..Default::default() }; - match crate::Directory::try_from(d).expect_err("must fail") { - DirectoryError::InvalidName(n) => { - assert_eq!(n.as_ref(), b".") - } - _ => panic!("unexpected error"), - }; + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); } { @@ -196,12 +189,8 @@ fn validate_invalid_names() { }], ..Default::default() }; - match crate::Directory::try_from(d).expect_err("must fail") { - DirectoryError::InvalidName(n) => { - assert_eq!(n.as_ref(), b"..") - } - _ => panic!("unexpected error"), - }; + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); } { @@ -212,12 +201,8 @@ fn validate_invalid_names() { }], ..Default::default() }; - match crate::Directory::try_from(d).expect_err("must fail") { - DirectoryError::InvalidName(n) => { - assert_eq!(n.as_ref(), b"\x00") - } - _ => panic!("unexpected error"), - }; + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); } { @@ -228,12 +213,20 @@ fn validate_invalid_names() { }], ..Default::default() }; - match crate::Directory::try_from(d).expect_err("must fail") { - DirectoryError::InvalidName(n) => { - assert_eq!(n.as_ref(), b"foo/bar") - } - _ => panic!("unexpected error"), + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); + } + + { + let d = Directory { + symlinks: vec![SymlinkNode { + name: bytes::Bytes::copy_from_slice("X".repeat(500).into_bytes().as_slice()), + target: "foo".into(), + }], + ..Default::default() }; + let e = crate::Directory::try_from(d).expect_err("must fail"); + assert!(matches!(e, DirectoryError::InvalidName(_))); } } |