1# Copyright (c) 2018 Foundries.io
2#
3# SPDX-License-Identifier: Apache-2.0
4
5from runners.core import ZephyrBinaryRunner
6
7
8def test_runner_imports():
9    # Ensure that all runner modules are imported and returned by
10    # get_runners().
11    #
12    # This is just a basic sanity check against errors introduced by
13    # tree-wide refactorings for runners that don't have their own
14    # test suites.
15    runner_names = set(r.name() for r in ZephyrBinaryRunner.get_runners())
16
17    expected = set((
18        # zephyr-keep-sorted-start
19        'arc-nsim',
20        'bflb_mcu_tool',
21        'blackmagicprobe',
22        'bossac',
23        'canopen',
24        'dediprog',
25        'dfu-util',
26        'ecpprog',
27        'esp32',
28        'ezflashcli',
29        'gd32isp',
30        'hifive1',
31        'intel_adsp',
32        'intel_cyclonev',
33        'jlink',
34        'linkserver',
35        'mdb-hw',
36        'mdb-nsim',
37        'minichlink',
38        'misc-flasher',
39        'native',
40        'nrfjprog',
41        'nrfutil',
42        'nxp_s32dbg',
43        'openocd',
44        'probe-rs',
45        'pyocd',
46        'qemu',
47        'renode',
48        'renode-robot',
49        'rfp',
50        'silabs_commander',
51        'spi_burn',
52        'spsdk',
53        'stlink_gdbserver',
54        'stm32cubeprogrammer',
55        'stm32flash',
56        'sy1xx',
57        'teensy',
58        'trace32',
59        'uf2',
60        'xsdb',
61        'xtensa',
62        # zephyr-keep-sorted-stop
63    ))
64    assert runner_names == expected
65