[dvsim] Run cov_merge / cov_report as part of the main set of jobs
Now that dvsim has dependency support (where a job depends on zero or
more earlier jobs), rather than "job spawning" (where a job may spawn
some other jobs on completion), we can express the correct
dependencies for the cov_merge job. This should only run if all the
tests passed, so depends on all of them.
One nice side-effect is that the timer count shown on the console no
longer restarts when we get to coverage. The code is also much
simpler.
Finally, we no longer need to store print_legend as a Scheduler class
attribute (because we only actually run the scheduler once, so don't
need to avoid printing the legend multiple times).
Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/util/dvsim/Scheduler.py b/util/dvsim/Scheduler.py
index 26223de..4eab47e 100644
--- a/util/dvsim/Scheduler.py
+++ b/util/dvsim/Scheduler.py
@@ -243,7 +243,6 @@
class Scheduler:
'''An object to run one or more Deploy items'''
- print_legend = True
# Max jobs running at one time
max_parallel = 16
@@ -274,12 +273,8 @@
'''
timer = Timer()
- # Print the legend just once (at the start of the first run)
- if Scheduler.print_legend:
- log.info("[legend]: [Q: queued, D: dispatched, "
- "P: passed, F: failed, K: killed, T: total]")
- Scheduler.print_legend = False
-
+ log.info("[legend]: [Q: queued, D: dispatched, "
+ "P: passed, F: failed, K: killed, T: total]")
results = {}
for scheduler in self.schedulers.values():
results.update(scheduler.run(timer, results))