//! 固定 payload 指纹来自本基准的公开记录合同;不把生成函数作为 Rust 参考实现。 use dever::compiler::model::Program; use sha2::{Digest, Sha256}; use std::path::Path; pub fn run(core: &Path) { crate::compare( core, "job-performance", "jobs", &[ include_str!("../auth/shared.rs"), include_str!("reference.rs"), include_str!("measure.rs"), include_str!("checks.rs"), ] .concat(), &[("GENERATED_SUBMIT", "bench.queue.app.submit")], &[], ); } pub fn metadata(program: &Program, reference: &str) -> String { assert_eq!(program.jobs.len(), 1); assert_eq!(program.models.len(), 1); assert!(!program.has_roles()); assert_eq!(program.jobs[0].name, "bench.queue.job.publish"); let schema = format!( "{:x}", Sha256::digest(b"bench.queue.Payload{name:Text,amount:Int}") ); reference .replace("JOB_BINDING", &program.models.len().to_string()) .replace("RESULT_MODEL", &program.models[0].definition.to_string()) .replace("JOB_SCHEMA", &format!("{schema:?}")) }