use std::path::PathBuf;
use crate::Result;
use crate::backend::{ExecutionBackend, SimulationOutput};
use crate::error::Error;
use crate::metadata::BackendKind;
use crate::scenario::Scenario;
#[derive(Debug, Clone)]
pub struct ProgramTestBackend {
pub program_so: PathBuf,
pub program_id: String,
}
impl ProgramTestBackend {
#[must_use]
pub fn new(program_so: impl Into<PathBuf>, program_id: impl Into<String>) -> Self {
Self {
program_so: program_so.into(),
program_id: program_id.into(),
}
}
}
impl ExecutionBackend for ProgramTestBackend {
fn kind(&self) -> BackendKind {
BackendKind::ProgramTest
}
fn run(&self, _scenario: &Scenario) -> Result<SimulationOutput> {
Err(Error::BackendUnimplemented(
"program-test (planned for a future release)".to_string(),
))
}
}