ST / ST_Events-old

Dependents:   HelloWorld_CCA01M1 HelloWorld_CCA02M1 CI-data-logger-server HelloWorld_CCA02M1 ... more

This is a fork of the events subdirectory of https://github.com/ARMmbed/mbed-os.

Note, you must import this library with import name: events!!!

Files at this revision

API Documentation at this revision

Comitter:
Russ Butler
Date:
Fri Feb 03 17:33:15 2017 -0600
Parent:
9795:090a4729a692
Child:
9797:f66ab45124a7
Commit message:
Enforce device_name is valid in targets.json

Add a CI test ensure that device_name exists inside the pack index.

Changed in this revision

.travis.yml Show annotated file Show diff for this revision Revisions of this file
tools/test/targets/target_test.py Show annotated file Show diff for this revision Revisions of this file
--- a/.travis.yml	Sun Jan 15 18:42:02 2017 -0600
+++ b/.travis.yml	Fri Feb 03 17:33:15 2017 -0600
@@ -5,6 +5,7 @@
   - 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/test/targets/target_test.py	Fri Feb 03 17:33:15 2017 -0600
@@ -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()