diff options
author | Florian Klink <flokli@flokli.de> | 2023-07-19T15·52+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-07-22T09·03+0000 |
commit | 432222f098bfceb033e63e9a63687e35574457f9 (patch) | |
tree | 43a5e38cf79827dd63aa2adbd841da6aa62cf1de /tvix/store/src/tests/fixtures.rs | |
parent | 7971d7d9ff42ed00f6f70121f372dd744f45915b (diff) |
feat(tvix/store/proto): use Bytes instead of Vec<u8> r/6439
Makes use of https://github.com/tokio-rs/prost/pull/341, which makes our bytes field cheaper to clone. It's a bit annoying to configure due to https://github.com/hyperium/tonic/issues/908, but the workaround does get the job done. Change-Id: I25714600b041bb5432d3adf5859b151e72b12778 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8975 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/store/src/tests/fixtures.rs')
-rw-r--r-- | tvix/store/src/tests/fixtures.rs | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/tvix/store/src/tests/fixtures.rs b/tvix/store/src/tests/fixtures.rs index a1df729f1c5c..c362744a34a7 100644 --- a/tvix/store/src/tests/fixtures.rs +++ b/tvix/store/src/tests/fixtures.rs @@ -8,13 +8,16 @@ pub const HELLOWORLD_BLOB_CONTENTS: &[u8] = b"Hello World!"; pub const EMPTY_BLOB_CONTENTS: &[u8] = b""; lazy_static! { - pub static ref DUMMY_DIGEST: Vec<u8> = vec![ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, - ]; - pub static ref DUMMY_DATA_1: Vec<u8> = vec![0x01, 0x02, 0x03]; - pub static ref DUMMY_DATA_2: Vec<u8> = vec![0x04, 0x05]; + pub static ref DUMMY_DIGEST: B3Digest = { + let u: &[u8; 32] = &[ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, + ]; + u.into() + }; + pub static ref DUMMY_DATA_1: bytes::Bytes = vec![0x01, 0x02, 0x03].into(); + pub static ref DUMMY_DATA_2: bytes::Bytes = vec![0x04, 0x05].into(); pub static ref HELLOWORLD_BLOB_DIGEST: B3Digest = blake3::hash(HELLOWORLD_BLOB_CONTENTS).as_bytes().into(); @@ -22,19 +25,19 @@ lazy_static! { blake3::hash(EMPTY_BLOB_CONTENTS).as_bytes().into(); // 2 bytes - pub static ref BLOB_A: Vec<u8> = vec![0x00, 0x01]; + pub static ref BLOB_A: bytes::Bytes = vec![0x00, 0x01].into(); pub static ref BLOB_A_DIGEST: B3Digest = blake3::hash(&BLOB_A).as_bytes().into(); // 1MB - pub static ref BLOB_B: Vec<u8> = (0..255).collect::<Vec<u8>>().repeat(4 * 1024); + pub static ref BLOB_B: bytes::Bytes = (0..255).collect::<Vec<u8>>().repeat(4 * 1024).into(); pub static ref BLOB_B_DIGEST: B3Digest = blake3::hash(&BLOB_B).as_bytes().into(); // Directories pub static ref DIRECTORY_WITH_KEEP: proto::Directory = proto::Directory { directories: vec![], files: vec![FileNode { - name: b".keep".to_vec(), - digest: EMPTY_BLOB_DIGEST.to_vec(), + name: b".keep".to_vec().into(), + digest: EMPTY_BLOB_DIGEST.clone().into(), size: 0, executable: false, }], @@ -42,26 +45,26 @@ lazy_static! { }; pub static ref DIRECTORY_COMPLICATED: proto::Directory = proto::Directory { directories: vec![DirectoryNode { - name: b"keep".to_vec(), - digest: DIRECTORY_WITH_KEEP.digest().to_vec(), + name: b"keep".to_vec().into(), + digest: DIRECTORY_WITH_KEEP.digest().into(), size: DIRECTORY_WITH_KEEP.size(), }], files: vec![FileNode { - name: b".keep".to_vec(), - digest: EMPTY_BLOB_DIGEST.to_vec(), + name: b".keep".to_vec().into(), + digest: EMPTY_BLOB_DIGEST.clone().into(), size: 0, executable: false, }], symlinks: vec![SymlinkNode { - name: b"aa".to_vec(), - target: b"/nix/store/somewhereelse".to_vec(), + name: b"aa".to_vec().into(), + target: b"/nix/store/somewhereelse".to_vec().into(), }], }; pub static ref DIRECTORY_A: Directory = Directory::default(); pub static ref DIRECTORY_B: Directory = Directory { directories: vec![DirectoryNode { - name: b"a".to_vec(), - digest: DIRECTORY_A.digest().to_vec(), + name: b"a".to_vec().into(), + digest: DIRECTORY_A.digest().into(), size: DIRECTORY_A.size(), }], ..Default::default() @@ -69,13 +72,13 @@ lazy_static! { pub static ref DIRECTORY_C: Directory = Directory { directories: vec![ DirectoryNode { - name: b"a".to_vec(), - digest: DIRECTORY_A.digest().to_vec(), + name: b"a".to_vec().into(), + digest: DIRECTORY_A.digest().into(), size: DIRECTORY_A.size(), }, DirectoryNode { - name: b"a'".to_vec(), - digest: DIRECTORY_A.digest().to_vec(), + name: b"a'".to_vec().into(), + digest: DIRECTORY_A.digest().into(), size: DIRECTORY_A.size(), } ], @@ -83,10 +86,10 @@ lazy_static! { }; // output hash - pub static ref DUMMY_OUTPUT_HASH: Vec<u8> = vec![ + pub static ref DUMMY_OUTPUT_HASH: bytes::Bytes = vec![ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - ]; + ].into(); /// The NAR representation of a symlink pointing to `/nix/store/somewhereelse` pub static ref NAR_CONTENTS_SYMLINK: Vec<u8> = vec![ |