West: runners: Add explicit capabilities

Add explicit capabilities to nios2, nsim and openocd runners to prevent
them from having potentially unwanted ones (for example when new
capabilities are added to Zephyr).

Signed-off-by: Michał Szprejda <mszprejda@antmicro.com>
diff --git a/scripts/west_commands/runners/nios2.py b/scripts/west_commands/runners/nios2.py
index 6312aef..15939b3 100644
--- a/scripts/west_commands/runners/nios2.py
+++ b/scripts/west_commands/runners/nios2.py
@@ -4,7 +4,7 @@
 
 '''Runner for NIOS II, based on quartus-flash.py and GDB.'''
 
-from runners.core import ZephyrBinaryRunner, NetworkPortHelper
+from runners.core import ZephyrBinaryRunner, NetworkPortHelper, RunnerCaps
 
 
 class Nios2BinaryRunner(ZephyrBinaryRunner):
@@ -30,6 +30,10 @@
         return 'nios2'
 
     @classmethod
+    def capabilities(cls):
+        return RunnerCaps(commands={'flash', 'debug', 'debugserver', 'attach'})
+
+    @classmethod
     def do_add_parser(cls, parser):
         # TODO merge quartus-flash.py script into this file.
         parser.add_argument('--quartus-flash', required=True)
diff --git a/scripts/west_commands/runners/nsim.py b/scripts/west_commands/runners/nsim.py
index 4ec1b76..94bd09c 100644
--- a/scripts/west_commands/runners/nsim.py
+++ b/scripts/west_commands/runners/nsim.py
@@ -7,7 +7,7 @@
 
 from os import path
 
-from runners.core import ZephyrBinaryRunner
+from runners.core import ZephyrBinaryRunner, RunnerCaps
 
 DEFAULT_ARC_GDB_PORT = 3333
 DEFAULT_PROPS_FILE = 'nsim_em.props'
@@ -41,6 +41,10 @@
         return 'arc-nsim'
 
     @classmethod
+    def capabilities(cls):
+        return RunnerCaps(commands={'flash', 'debug', 'debugserver', 'attach'})
+
+    @classmethod
     def do_add_parser(cls, parser):
         parser.add_argument('--gdb-port', default=DEFAULT_ARC_GDB_PORT,
                             help='nsim gdb port, defaults to 3333')
diff --git a/scripts/west_commands/runners/openocd.py b/scripts/west_commands/runners/openocd.py
index 3377705..5619c58 100644
--- a/scripts/west_commands/runners/openocd.py
+++ b/scripts/west_commands/runners/openocd.py
@@ -18,7 +18,7 @@
 except ImportError:
     pass
 
-from runners.core import ZephyrBinaryRunner
+from runners.core import ZephyrBinaryRunner, RunnerCaps
 
 DEFAULT_OPENOCD_TCL_PORT = 6333
 DEFAULT_OPENOCD_TELNET_PORT = 4444
@@ -101,6 +101,10 @@
         return 'openocd'
 
     @classmethod
+    def capabilities(cls):
+        return RunnerCaps(commands={'flash', 'debug', 'debugserver', 'attach'})
+
+    @classmethod
     def do_add_parser(cls, parser):
         parser.add_argument('--config', action='append',
                             help='''if given, override default config file;