mirror of https://github.com/ARMmbed/mbed-os.git
Enforce device_name is valid in targets.json
Add a CI test ensure that device_name exists inside the pack index.pull/3695/head
parent
acdf1e3728
commit
32b9ada3ec
|
@ -5,6 +5,7 @@ script:
|
|||
- make -C events/equeue test clean
|
||||
- PYTHONPATH=. python tools/test/config_test/config_test.py
|
||||
- PYTHONPATH=. python tools/test/build_api/build_api_test.py
|
||||
- PYTHONPATH=. python tools/test/targets/target_test.py
|
||||
- python tools/test/pylint.py
|
||||
- py.test tools/test/toolchains/api.py
|
||||
- python tools/test/memap/memap_test.py
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env python
|
||||
"""
|
||||
mbed
|
||||
Copyright (c) 2017-2017 ARM Limited
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
"""
|
||||
|
||||
import sys
|
||||
from os.path import join, abspath, dirname
|
||||
import unittest
|
||||
|
||||
# Be sure that the tools directory is in the search path
|
||||
ROOT = abspath(join(dirname(__file__), "..", "..", ".."))
|
||||
sys.path.insert(0, ROOT)
|
||||
|
||||
from tools.targets import TARGETS
|
||||
from tools.arm_pack_manager import Cache
|
||||
|
||||
class TestTargets(unittest.TestCase):
|
||||
|
||||
def test_device_name(self):
|
||||
"""Assert device name is in a pack"""
|
||||
cache = Cache(True, True)
|
||||
named_targets = (target for target in TARGETS if
|
||||
hasattr(target, "device_name"))
|
||||
for target in named_targets:
|
||||
self.assertTrue(target.device_name in cache.index,
|
||||
"Target %s contains invalid device_name %s" %
|
||||
(target.name, target.device_name))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Loading…
Reference in New Issue