cu_profiler_core/backend/
program_test.rs1use std::path::PathBuf;
10
11use crate::Result;
12use crate::backend::{ExecutionBackend, SimulationOutput};
13use crate::error::Error;
14use crate::metadata::BackendKind;
15use crate::scenario::Scenario;
16
17#[derive(Debug, Clone)]
19pub struct ProgramTestBackend {
20 pub program_so: PathBuf,
22 pub program_id: String,
24}
25
26impl ProgramTestBackend {
27 #[must_use]
29 pub fn new(program_so: impl Into<PathBuf>, program_id: impl Into<String>) -> Self {
30 Self {
31 program_so: program_so.into(),
32 program_id: program_id.into(),
33 }
34 }
35}
36
37impl ExecutionBackend for ProgramTestBackend {
38 fn kind(&self) -> BackendKind {
39 BackendKind::ProgramTest
40 }
41
42 fn run(&self, _scenario: &Scenario) -> Result<SimulationOutput> {
43 Err(Error::BackendUnimplemented(
44 "program-test (planned for a future release)".to_string(),
45 ))
46 }
47}