sanitycheck: add option to specify platforms with coverage support

We want to run coverage on select platforms even if a few do support
that now. Specify which platforms should be enabled using the new option

--coverage-platform

By default we have the posix platform configured. Any additional
platforms can be specified using the option above.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/scripts/sanitycheck b/scripts/sanitycheck
index 1c67f45..535c1b6 100755
--- a/scripts/sanitycheck
+++ b/scripts/sanitycheck
@@ -1609,7 +1609,7 @@
 
         return build_only
 
-    def create_overlay(self):
+    def create_overlay(self, platform):
         file = os.path.join(self.outdir, "overlay.conf")
         os.makedirs(self.outdir, exist_ok=True)
         f = open(file, "w")
@@ -1618,7 +1618,8 @@
         if len(self.test.extra_configs) > 0:
             content = "\n".join(self.test.extra_configs)
         if options.enable_coverage:
-            content = content + "\nCONFIG_COVERAGE=y"
+            if platform in options.coverage_platform:
+                content = content + "\nCONFIG_COVERAGE=y"
 
         f.write(content)
         f.close()
@@ -1775,12 +1776,12 @@
                 name = os.path.join(row[0], row[1])
                 platforms = self.arches[row[3]].platforms
                 myp = None
-                for p in platforms:
-                    if p.name == row[2]:
-                        myp = p
+                for platform in platforms:
+                    if platform.name == row[2]:
+                        selected_platform = platform
                         break
-                instance = TestInstance(self.testcases[name], myp, self.outdir)
-                instance.create_overlay()
+                instance = TestInstance(self.testcases[name], selected_platform, self.outdir)
+                instance.create_overlay(selected_platform.name)
                 instance_list.append(instance)
             self.add_instances(instance_list)
 
@@ -2108,7 +2109,7 @@
                     self.add_instances(instance_list)
 
                 for name, case in self.instances.items():
-                    case.create_overlay()
+                    case.create_overlay(case.platform.name)
 
         self.discards = discards
         return discards
@@ -2672,6 +2673,11 @@
     parser.add_argument("-C", "--coverage", action="store_true",
                         help="Generate coverage reports. Implies --enable_coverage")
 
+    coverage_platforms = ["native_posix", "nrf52_bsim"]
+    parser.add_argument("--coverage-platform", action="append", default=coverage_platforms,
+                        help="Plarforms to run coverage reports on. "
+                        "This option may be used multiple times.")
+
     return parser.parse_args()