Fixed basic benchmarking functionality

This commit is contained in:
Riley-Kilgore
2024-11-27 05:13:22 -08:00
committed by Riley
parent 8764d37d76
commit f55419e8fb
3 changed files with 21 additions and 20 deletions

View File

@@ -450,16 +450,29 @@ impl PropertyTest {
match prng.sample(&self.fuzzer.program) {
Ok(Some((new_prng, value))) => {
prng = new_prng;
let mut eval_result = self.eval(&value, plutus_version);
match self.eval(&value, plutus_version) {
mut eval_result => {
results.push(BenchmarkResult {
test: self.clone(),
cost: eval_result.cost(),
success: true,
traces: eval_result.logs().to_vec(),
});
}
}
}
Ok(None) => {
break;
}
Err(e) => {
results.push(BenchmarkResult {
test: self.clone(),
cost: eval_result.cost(),
success: !eval_result.failed(false),
traces: eval_result.logs().to_vec(),
cost: ExBudget::default(),
success: false,
traces: vec![format!("Fuzzer error: {}", e)],
});
break;
}
Ok(None) => {}
Err(_) => break,
}
remaining -= 1;
}