feat(tvix/eval): add EvalIO to public crate API
This lets users set the `io_handle` field on an `Evaluation`, which is then propagated to the VM. Change-Id: I616d7140724fb2b4db47c2ebf95451d5303a487a Reviewed-on: https://cl.tvl.fyi/c/depot/+/7566 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
This commit is contained in:
parent
25fc6b7c25
commit
c3c4d752c9
6 changed files with 42 additions and 14 deletions
|
|
@ -17,7 +17,10 @@ fn eval_test(code_path: &str, expect_success: bool) {
|
|||
return;
|
||||
}
|
||||
|
||||
let result = crate::Evaluation::new(&code, Some(code_path.into())).evaluate();
|
||||
let mut eval = crate::Evaluation::new(&code, Some(code_path.into()));
|
||||
eval.io_handle = Box::new(crate::StdIO);
|
||||
|
||||
let result = eval.evaluate();
|
||||
|
||||
if expect_success && !result.errors.is_empty() {
|
||||
panic!(
|
||||
|
|
@ -64,7 +67,10 @@ fn eval_test(code_path: &str, expect_success: bool) {
|
|||
fn identity(code_path: &str) {
|
||||
let code = std::fs::read_to_string(code_path).expect("should be able to read test code");
|
||||
|
||||
let result = crate::Evaluation::new(&code, None).evaluate();
|
||||
let mut eval = crate::Evaluation::new(&code, None);
|
||||
eval.io_handle = Box::new(crate::StdIO);
|
||||
|
||||
let result = eval.evaluate();
|
||||
assert!(
|
||||
result.errors.is_empty(),
|
||||
"evaluation of identity test failed: {:?}",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue