diff --git a/src/protocol/tests/utils.rs b/src/protocol/tests/utils.rs index 6407afea6458747e10b2a7e6e534aee15e3aa619..e21d72b5708c0631c39008fffe5427d0880a83da 100644 --- a/src/protocol/tests/utils.rs +++ b/src/protocol/tests/utils.rs @@ -1,16 +1,10 @@ use crate::collections::StringPool; -use crate::protocol::{ - Module, - ast::*, - input_source::*, - parser::{ - Parser, - type_table::*, - symbol_table::SymbolTable, - token_parsing::*, - }, - eval::*, -}; +use crate::protocol::{Module, ast::*, input_source::*, parser::{ + Parser, + type_table::*, + symbol_table::SymbolTable, + token_parsing::*, +}, eval::*, RunContext}; // Carries information about the test into utility structures for builder-like // assertions @@ -691,7 +685,7 @@ impl<'a> FunctionTester<'a> { use crate::protocol::*; let mut prompt = Prompt::new(&self.ctx.types, &self.ctx.heap, self.def.this.upcast(), 0, ValueGroup::new_stack(Vec::new())); - let mut call_context = EvalContext::None; + let mut call_context = FakeRunContext{}; loop { let result = prompt.step(&self.ctx.types, &self.ctx.heap, &self.ctx.modules, &mut call_context); match result { @@ -1280,4 +1274,27 @@ fn seek_expr_in_stmt bool>(heap: &Heap, start: StatementId }, _ => None } +} + +struct FakeRunContext{} +impl RunContext for FakeRunContext { + fn performed_put(&mut self, _port: PortId) -> bool { + unreachable!("'put' called in compiler testing code") + } + + fn performed_get(&mut self, _port: PortId) -> Option { + unreachable!("'get' called in compiler testing code") + } + + fn fires(&mut self, _port: PortId) -> Option { + unreachable!("'fires' called in compiler testing code") + } + + fn performed_fork(&mut self) -> Option { + unreachable!("'fork' called in compiler testing code") + } + + fn created_channel(&mut self) -> Option<(Value, Value)> { + unreachable!("channel created in compiler testing code") + } } \ No newline at end of file