diff options
Diffstat (limited to 'src/specification.rs')
-rw-r--r-- | src/specification.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/specification.rs b/src/specification.rs index 2932f41..9e315f7 100644 --- a/src/specification.rs +++ b/src/specification.rs @@ -113,16 +113,26 @@ impl Specification { /// Serialize the specification into a sequence of steps to execute it. pub fn steps(&self) -> Vec<Step> { let mut steps = vec![]; + let num_benchmarks = self.benchmarks.len(); + let after_base = num_benchmarks; + let restore_base = after_base + num_benchmarks; for b in self.benchmarks.iter() { steps.push(Step::Start(b.benchmark.to_string())); for (i, backup) in b.backups.iter().enumerate() { for change in backup.changes.iter() { steps.push(Step::from(change)); } + steps.push(Step::ManifestLive(i)); steps.push(Step::Backup(i)); + let after = after_base + i; + steps.push(Step::ManifestLive(after)); + steps.push(Step::CompareManifests(i, after)); } for (i, _) in b.backups.iter().enumerate() { steps.push(Step::Restore(i)); + let restored = restore_base + i; + // steps.push(Step::ManifestRestored(restored)); + // steps.push(Step::CompareManifests(i, restored)); } steps.push(Step::Stop(b.benchmark.to_string())); } |