commit 3110d4bef80a7c022dc499b83447b2543666fd56
parent a68f802aac35a03668b7892f9cf34481e0e02cec
Author: triesap <tyson@radroots.org>
Date: Mon, 18 May 2026 00:01:55 +0000
rhi: cover local execute proof smoke
- add sp1_proving coverage for local_execute proof-smoke requests
- compare SP1 execute public values with the deterministic baseline
- assert proof-smoke stays public-values-only without full proof generation
- keep the provider-neutral RHI command boundary covered
Diffstat:
1 file changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/proof_smoke.rs b/src/proof_smoke.rs
@@ -446,4 +446,34 @@ mod tests {
Some("local_execute backend is unavailable in this build")
);
}
+
+ #[cfg(feature = "sp1_proving")]
+ #[tokio::test]
+ async fn local_execute_returns_sp1_public_values_without_proof_generation() {
+ let deterministic = handle_request_bytes(&request(
+ RhiProofSmokeOperation::ProofSmoke,
+ RhiProofSmokeBackend::DeterministicNone,
+ ))
+ .await;
+ let response = handle_request_bytes(&request(
+ RhiProofSmokeOperation::ProofSmoke,
+ RhiProofSmokeBackend::LocalExecute,
+ ))
+ .await;
+ assert!(response.ok);
+ assert_eq!(response.operation, RhiProofSmokeOperation::ProofSmoke);
+ assert_eq!(response.backend, RhiProofSmokeBackend::LocalExecute);
+ assert!(response.capabilities.contains(&"local_execute".to_string()));
+ assert!(!response.proof_generated);
+ assert_eq!(
+ response.public_values_hash,
+ deterministic.public_values_hash
+ );
+ assert_eq!(response.event_set_root, deterministic.event_set_root);
+ assert_eq!(
+ response.reducer_output_root,
+ deterministic.reducer_output_root
+ );
+ assert!(response.error.is_none());
+ }
}