refactor(tvix/glue): add BuildService to TvixStoreIO

TvixStoreIO triggers builds whenever IO into a not-yet-built store path
is requested, if it knows how to build that path.

Change-Id: If30e9db6be2f2a30cbc9d0576f357f3ecfa0d35a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10645
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2024-01-16 13:14:07 +02:00 committed by flokli
parent 12ae96cff2
commit 501827db59
8 changed files with 25 additions and 6 deletions

View file

@ -2,6 +2,7 @@ use std::{rc::Rc, sync::Arc};
use pretty_assertions::assert_eq;
use std::path::PathBuf;
use tvix_build::buildservice::DummyBuildService;
use tvix_castore::{
blobservice::{BlobService, MemoryBlobService},
directoryservice::{DirectoryService, MemoryDirectoryService},
@ -43,6 +44,7 @@ fn eval_test(code_path: PathBuf, expect_success: bool) {
blob_service,
directory_service,
path_info_service.into(),
Arc::new(DummyBuildService::default()),
tokio_runtime.handle().clone(),
));
let mut eval = tvix_eval::Evaluation::new(tvix_store_io.clone() as Rc<dyn EvalIO>, true);