[dvsim] Fix for missing coverage

- The while loop in `Deploy.deploy()` method that sequences the deployed
processes had a bug that caused it to exit when there was more work to
be done. I reordered it so that it works correctly now. `cov_report`
should now get dispatched after `cov_merge`.
- This fixes #1792.

- Some minor fixes to the way things are displayed in stdout.

Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/util/dvsim/OneShotCfg.py b/util/dvsim/OneShotCfg.py
index 10fff9a..cc78d8c 100644
--- a/util/dvsim/OneShotCfg.py
+++ b/util/dvsim/OneShotCfg.py
@@ -84,30 +84,31 @@
                                                       self.__dict__,
                                                       ignored_wildcards)
 
-        # Print info
-        log.info("Scratch path for %s: %s", self.name, self.scratch_path)
-
-        # Set directories with links for ease of debug / triage.
-        self.links = {
-            "D": self.scratch_path + "/" + "dispatched",
-            "P": self.scratch_path + "/" + "passed",
-            "F": self.scratch_path + "/" + "failed",
-            "K": self.scratch_path + "/" + "killed"
-        }
-
-        # Use the default build mode for tests that do not specify it
-        if not hasattr(self, "build_mode"):
-            setattr(self, "build_mode", "default")
-
-        self._process_exports()
-
-        # Create objects from raw dicts - build_modes, sim_modes, run_modes,
-        # tests and regressions, only if not a master cfg obj
+        # Stuff below only pertains to individual cfg (not master cfg).
         if not self.is_master_cfg:
+            # Print info
+            log.info("[scratch_dir]: [%s]: [%s]", self.name, self.scratch_path)
+
+            # Set directories with links for ease of debug / triage.
+            self.links = {
+                "D": self.scratch_path + "/" + "dispatched",
+                "P": self.scratch_path + "/" + "passed",
+                "F": self.scratch_path + "/" + "failed",
+                "K": self.scratch_path + "/" + "killed"
+            }
+
+            # Use the default build mode for tests that do not specify it
+            if not hasattr(self, "build_mode"):
+                setattr(self, "build_mode", "default")
+
+            self._process_exports()
+
+            # Create objects from raw dicts - build_modes, sim_modes, run_modes,
+            # tests and regressions, only if not a master cfg obj
             self._create_objects()
 
-        # Post init checks
-        self.__post_init__()
+            # Post init checks
+            self.__post_init__()
 
     def __post_init__(self):
         # Run some post init checks