sanitycheck: support --force-platform

This option allows running tests on platforms that would be excluded
based on the test definition.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/scripts/sanity_chk/sanitylib.py b/scripts/sanity_chk/sanitylib.py
index b784a19..9575865 100644
--- a/scripts/sanity_chk/sanitylib.py
+++ b/scripts/sanity_chk/sanitylib.py
@@ -2539,6 +2539,7 @@
         all_filter = kwargs.get('all')
         device_testing_filter = kwargs.get('device_testing')
         force_toolchain = kwargs.get('force_toolchain')
+        force_platform = kwargs.get('force_platform')
 
         logger.debug("platform filter: " + str(platform_filter))
         logger.debug("    arch_filter: " + str(arch_filter))
@@ -2573,7 +2574,7 @@
                     self.device_testing,
                     self.fixture
                 )
-                if plat.name in exclude_platform:
+                if not force_platform and plat.name in exclude_platform:
                     discards[instance] = "Platform is excluded on command line."
                     continue
 
@@ -2608,17 +2609,19 @@
                     discards[instance] = "Command line testcase arch filter"
                     continue
 
-                if tc.arch_whitelist and plat.arch not in tc.arch_whitelist:
-                    discards[instance] = "Not in test case arch whitelist"
-                    continue
+                if not force_platform:
 
-                if tc.arch_exclude and plat.arch in tc.arch_exclude:
-                    discards[instance] = "In test case arch exclude"
-                    continue
+                    if tc.arch_whitelist and plat.arch not in tc.arch_whitelist:
+                        discards[instance] = "Not in test case arch whitelist"
+                        continue
 
-                if tc.platform_exclude and plat.name in tc.platform_exclude:
-                    discards[instance] = "In test case platform exclude"
-                    continue
+                    if tc.arch_exclude and plat.arch in tc.arch_exclude:
+                        discards[instance] = "In test case arch exclude"
+                        continue
+
+                    if tc.platform_exclude and plat.name in tc.platform_exclude:
+                        discards[instance] = "In test case platform exclude"
+                        continue
 
                 if tc.toolchain_exclude and toolchain in tc.toolchain_exclude:
                     discards[instance] = "In test case toolchain exclude"