refactor(tvix/store/tests): move gen_*_service() into helper

This allows hiding to tests what exact implementation we're using, when
testing things that do something with a store, but don't care what's
used for underlying storage.

Change-Id: I7cdf60fd73c25d5050159cb31ec177db2bc2a7f1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8155
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This commit is contained in:
Florian Klink 2023-02-27 08:59:45 +01:00 committed by flokli
parent 0baaabc43e
commit 28a862976b
7 changed files with 57 additions and 71 deletions

View file

@ -1 +1,2 @@
mod nar_renderer;
pub mod utils;

View file

@ -1,16 +1,13 @@
use crate::blobservice::BlobService;
use crate::blobservice::SledBlobService;
use crate::chunkservice::ChunkService;
use crate::chunkservice::SledChunkService;
use crate::directoryservice::DirectoryService;
use crate::directoryservice::SledDirectoryService;
use crate::nar::NARRenderer;
use crate::proto;
use crate::proto::DirectoryNode;
use crate::proto::FileNode;
use crate::proto::SymlinkNode;
use crate::tests::utils::*;
use lazy_static::lazy_static;
use std::path::Path;
use tempfile::TempDir;
const HELLOWORLD_BLOB_CONTENTS: &[u8] = b"Hello World!";
@ -49,18 +46,6 @@ lazy_static! {
};
}
fn gen_blob_service(p: &Path) -> impl BlobService {
SledBlobService::new(p.join("blobs")).unwrap()
}
fn gen_chunk_service(p: &Path) -> impl ChunkService + Clone {
SledChunkService::new(p.join("chunks")).unwrap()
}
fn gen_directory_service(p: &Path) -> impl DirectoryService {
SledDirectoryService::new(p.join("directories")).unwrap()
}
#[test]
fn single_symlink() {
let tmpdir = TempDir::new().unwrap();

View file

@ -0,0 +1,24 @@
use std::path::Path;
use crate::{
blobservice::{BlobService, SledBlobService},
chunkservice::{ChunkService, SledChunkService},
directoryservice::{DirectoryService, SledDirectoryService},
pathinfoservice::{PathInfoService, SledPathInfoService},
};
pub fn gen_blob_service(p: &Path) -> impl BlobService + Send + Sync + Clone + 'static {
SledBlobService::new(p.join("blobs")).unwrap()
}
pub fn gen_chunk_service(p: &Path) -> impl ChunkService + Clone {
SledChunkService::new(p.join("chunks")).unwrap()
}
pub fn gen_directory_service(p: &Path) -> impl DirectoryService + Send + Sync + Clone + 'static {
SledDirectoryService::new(p.join("directories")).unwrap()
}
pub fn gen_pathinfo_service(p: &Path) -> impl PathInfoService {
SledPathInfoService::new(p.join("pathinfo")).unwrap()
}