nkjnm

Dependencies:   MAX44000 nexpaq_mdk

Fork of LED_Demo by Maxim nexpaq

Revision:
1:55a6170b404f
diff -r b86eda0e990d -r 55a6170b404f mbd_os/tools/export_test.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbd_os/tools/export_test.py	Sat Sep 17 16:32:05 2016 +0000
@@ -0,0 +1,347 @@
+#!/usr/bin/env python
+"""
+mbed SDK
+Copyright (c) 2011-2013 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, exists
+ROOT = abspath(join(dirname(__file__), ".."))
+sys.path.insert(0, ROOT)
+
+from shutil import move
+
+from tools.paths import *
+from tools.utils import mkdir, cmd
+from tools.export import export, setup_user_prj
+
+
+USR_PRJ_NAME = "usr_prj"
+USER_PRJ = join(EXPORT_WORKSPACE, USR_PRJ_NAME)
+USER_SRC = join(USER_PRJ, "src")
+
+
+def setup_test_user_prj():
+    if exists(USER_PRJ):
+        print 'Test user project already generated...'
+        return
+
+    setup_user_prj(USER_PRJ, join(TEST_DIR, "rtos", "mbed", "basic"), [join(ROOT, "rtos"), join(LIB_DIR, "tests", "mbed", "env")])
+
+    # FAKE BUILD URL
+    open(join(USER_SRC, "mbed.bld"), 'w').write("http://mbed.org/users/mbed_official/code/mbed/builds/976df7c37ad5\n")
+
+
+def fake_build_url_resolver(url):
+    # FAKE BUILD URL: Ignore the URL, always return the path to the mbed library
+    return {'path':MBED_LIBRARIES, 'name':'mbed'}
+
+
+def test_export(toolchain, target, expected_error=None):
+    if toolchain is None and target is None:
+        base_dir = join(EXPORT_TMP, "zip")
+    else:
+        base_dir = join(EXPORT_TMP, toolchain, target)
+    temp_dir = join(base_dir, "temp")
+    mkdir(temp_dir)
+
+    zip_path, report = export(USER_PRJ, USR_PRJ_NAME, toolchain, target, base_dir, temp_dir, False, None, fake_build_url_resolver)
+
+    if report['success']:
+        move(zip_path, join(EXPORT_DIR, "export_%s_%s.zip" % (toolchain, target)))
+        print "[OK]"
+    else:
+        if expected_error is None:
+            print '[ERRROR] %s' % report['errormsg']
+        else:
+            if (zip_path is None) and (expected_error in report['errormsg']):
+                print '[OK]'
+            else:
+                print '[ERROR]'
+                print '    zip:', zip_path
+                print '    msg:', report['errormsg']
+
+
+if __name__ == '__main__':
+    setup_test_user_prj()
+
+    for toolchain, target in [
+            ('zip', 'LPC1768'),
+
+            ('emblocks', 'LPC1768'),
+            ('emblocks', 'LPC1549'),
+            ('emblocks', 'LPC1114'),
+            ('emblocks', 'LPC11U35_401'),
+            ('emblocks', 'LPC11U35_501'),
+            ('emblocks', 'LPCCAPPUCCINO'),
+            ('emblocks', 'LPC2368'),
+            ('emblocks', 'STM32F407'),
+            ('emblocks', 'DISCO_F100RB'),
+            ('emblocks', 'DISCO_F051R8'),
+            ('emblocks', 'DISCO_F407VG'),
+            ('emblocks', 'DISCO_F303VC'),
+            ('emblocks', 'NRF51822'),
+            ('emblocks', 'NUCLEO_F401RE'),
+            ('emblocks', 'NUCLEO_F410RB'),
+            ('emblocks', 'NUCLEO_F411RE'),
+            ('emblocks', 'MTS_MDOT_F405RG'),
+            ('emblocks', 'MTS_MDOT_F411RE'),
+
+            ('coide', 'KL05Z'),
+            ('coide', 'KL25Z'),
+            ('coide', 'LPC1768'),
+            ('coide', 'ARCH_PRO'),
+            ('coide', 'DISCO_F407VG'),
+            ('coide', 'NUCLEO_F401RE'),
+            ('coide', 'NUCLEO_F410RB'),
+            ('coide', 'NUCLEO_F411RE'),
+            ('coide', 'DISCO_F429ZI'),
+            ('coide', 'NUCLEO_F429ZI'),
+            #('coide', 'DISCO_F469NI'), removed because template not available
+            ('coide', 'NUCLEO_F334R8'),
+            ('coide', 'NUCLEO_F303ZE'),
+            ('coide', 'MTS_MDOT_F405RG'),
+            ('coide', 'MTS_MDOT_F411RE'),
+
+            ('uvision', 'LPC1768'),
+            ('uvision', 'LPC11U24'),
+            ('uvision', 'LPC11U35_401'),
+            ('uvision', 'LPC11U35_501'),
+            ('uvision', 'KL25Z'),
+            ('uvision', 'LPC1347'),
+            ('uvision', 'LPC1114'),
+            ('uvision', 'LPC4088'),
+            ('uvision', 'LPC4088_DM'),
+            ('uvision', 'LPC4337'),
+            ('uvision', 'LPC824'),
+            ('uvision', 'SSCI824'),
+            ('uvision', 'HRM1017'),
+
+            ('uvision', 'B96B_F446VE'),
+            ('uvision', 'NUCLEO_F030R8'),
+            ('uvision', 'NUCLEO_F031K6'),
+            ('uvision', 'NUCLEO_F042K6'),
+            ('uvision', 'NUCLEO_F070RB'),
+            ('uvision', 'NUCLEO_F072RB'),
+            ('uvision', 'NUCLEO_F091RC'),
+            ('uvision', 'NUCLEO_F103RB'),
+            ('uvision', 'NUCLEO_F302R8'),
+            ('uvision', 'NUCLEO_F303K8'),
+            ('uvision', 'NUCLEO_F303RE'),
+            ('uvision', 'NUCLEO_F334R8'),
+            ('uvision', 'NUCLEO_F303ZE'),
+            ('uvision', 'NUCLEO_F401RE'),
+            ('uvision', 'NUCLEO_F410RB'),
+            ('uvision', 'NUCLEO_F411RE'),
+            ('uvision', 'NUCLEO_F429ZI'),
+            ('uvision', 'NUCLEO_F446RE'),
+            ('uvision', 'NUCLEO_F446ZE'),
+            ('uvision', 'NUCLEO_L011K4'),
+            ('uvision', 'NUCLEO_L031K6'),
+            ('uvision', 'NUCLEO_L053R8'),
+            ('uvision', 'NUCLEO_L073RZ'),
+            ('uvision', 'NUCLEO_L152RE'),
+            ('uvision', 'NUCLEO_L432KC'),
+            ('uvision', 'NUCLEO_L476RG'),
+            ('uvision', 'MTS_MDOT_F405RG'),
+            ('uvision', 'MAXWSNENV'),
+            ('uvision', 'MAX32600MBED'),
+            ('uvision', 'MAX32620HSP'),
+            ('uvision', 'DISCO_F051R8'),
+            ('uvision', 'DISCO_F103RB'),
+            ('uvision', 'DISCO_F303VC'),
+            ('uvision', 'DISCO_L053C8'),
+            ('uvision', 'DISCO_F334C8'),
+            ('uvision', 'DISCO_F407VG'),
+            ('uvision', 'DISCO_F429ZI'),
+            ('uvision', 'DISCO_F746NG'),
+            ('uvision', 'DISCO_F469NI'),
+            ('uvision', 'DISCO_L476VG'),
+            ('uvision', 'MOTE_L152RC'),
+            ('uvision', 'ARM_BEETLE_SOC'),
+
+            ('lpcxpresso', 'LPC1768'),
+            ('lpcxpresso', 'LPC4088'),
+            ('lpcxpresso', 'LPC4088_DM'),
+            ('lpcxpresso', 'LPC1114'),
+            ('lpcxpresso', 'LPC11U35_401'),
+            ('lpcxpresso', 'LPC11U35_501'),
+            ('lpcxpresso', 'LPCCAPPUCCINO'),
+            ('lpcxpresso', 'LPC1549'),
+            ('lpcxpresso', 'LPC11U68'),
+
+            # Linux path: /home/emimon01/bin/gcc-arm/bin/
+            # Windows path: C:/arm-none-eabi-gcc-4_7/bin/
+            ('gcc_arm', 'LPC1768'),
+            ('gcc_arm', 'LPC4088_DM'),
+            ('gcc_arm', 'LPC1549'),
+            ('gcc_arm', 'LPC1114'),
+            ('gcc_arm', 'LPC11U35_401'),
+            ('gcc_arm', 'LPC11U35_501'),
+            ('gcc_arm', 'LPCCAPPUCCINO'),
+            ('gcc_arm', 'LPC2368'),
+            ('gcc_arm', 'LPC2460'),
+            ('gcc_arm', 'LPC824'),
+            ('gcc_arm', 'SSCI824'),
+
+            ('gcc_arm', 'B96B_F446VE'),
+            ('gcc_arm', 'STM32F407'),
+            ('gcc_arm', 'DISCO_F100RB'),
+            ('gcc_arm', 'DISCO_F051R8'),
+            ('gcc_arm', 'DISCO_F407VG'),
+            ('gcc_arm', 'DISCO_F303VC'),
+            ('gcc_arm', 'DISCO_L053C8'),
+            ('gcc_arm', 'DISCO_F334C8'),
+            ('gcc_arm', 'DISCO_L053C8'),
+            ('gcc_arm', 'DISCO_F429ZI'),
+            ('gcc_arm', 'DISCO_F746NG'),
+            ('gcc_arm', 'NUCLEO_F031K6'),
+            ('gcc_arm', 'NUCLEO_F042K6'),
+            ('gcc_arm', 'NRF51822'),
+            ('gcc_arm', 'RBLAB_BLENANO'),
+            ('gcc_arm', 'HRM1017'),
+            ('gcc_arm', 'NUCLEO_F401RE'),
+            ('gcc_arm', 'NUCLEO_F410RB'),
+            ('gcc_arm', 'NUCLEO_F411RE'),
+            ('gcc_arm', 'NUCLEO_F429ZI'),
+            ('gcc_arm', 'NUCLEO_F446RE'),
+            ('gcc_arm', 'NUCLEO_F446ZE'),
+            ('gcc_arm', 'NUCLEO_F303ZE'),
+            ('gcc_arm', 'ELMO_F411RE'),
+            ('gcc_arm', 'DISCO_F469NI'),
+            ('gcc_arm', 'NUCLEO_F334R8'),
+            ('gcc_arm', 'NUCLEO_L011K4'),
+            ('gcc_arm', 'NUCLEO_L031K6'),
+            ('gcc_arm', 'NUCLEO_L432KC'),
+            ('gcc_arm', 'MAX32600MBED'),
+            ('gcc_arm', 'MTS_MDOT_F405RG'),
+            ('gcc_arm', 'MTS_MDOT_F411RE'),
+            ('gcc_arm', 'RZ_A1H'),
+            ('gcc_arm', 'MAXWSNENV'),
+            ('gcc_arm', 'MAX32600MBED'),
+            ('gcc_arm', 'MAX32620HSP'),
+            ('gcc_arm', 'ARCH_BLE'),
+            ('gcc_arm', 'ARCH_MAX'),
+            ('gcc_arm', 'ARCH_PRO'),
+            ('gcc_arm', 'DELTA_DFCM_NNN40'),
+            ('gcc_arm', 'K20D50M'),
+            ('gcc_arm', 'K22F'),
+            ('gcc_arm', 'K64F'),
+            ('gcc_arm', 'KL05Z'),
+            ('gcc_arm', 'KL25Z'),
+            ('gcc_arm', 'KL43Z'),
+            ('gcc_arm', 'KL46Z'),
+            ('gcc_arm', 'EFM32GG_STK3700'),
+            ('gcc_arm', 'EFM32LG_STK3600'),
+            ('gcc_arm', 'EFM32WG_STK3800'),
+            ('gcc_arm', 'EFM32ZG_STK3200'),
+            ('gcc_arm', 'EFM32HG_STK3400'),
+            ('gcc_arm', 'EFM32PG_STK3401'),
+
+            ('ds5_5', 'LPC1768'),
+            ('ds5_5', 'LPC11U24'),
+            ('ds5_5', 'RZ_A1H'),
+
+            ('iar', 'LPC1768'),
+            ('iar', 'LPC4088_DM'),
+            ('iar', 'LPC1347'),
+
+            ('iar', 'B96B_F446VE'),
+            ('iar', 'NUCLEO_F030R8'),
+            ('iar', 'NUCLEO_F031K6'),
+            ('iar', 'NUCLEO_F042K6'),
+            ('iar', 'NUCLEO_F070RB'),
+            ('iar', 'NUCLEO_F072RB'),
+            ('iar', 'NUCLEO_F091RC'),
+            ('iar', 'NUCLEO_F302R8'),
+            ('iar', 'NUCLEO_F303K8'),
+            ('iar', 'NUCLEO_F303RE'),
+            ('iar', 'NUCLEO_F334R8'),
+            ('iar', 'NUCLEO_F303ZE'),
+            ('iar', 'NUCLEO_F401RE'),
+            ('iar', 'NUCLEO_F410RB'),
+            ('iar', 'NUCLEO_F411RE'),
+            ('iar', 'NUCLEO_F429ZI'),
+            ('iar', 'NUCLEO_F446RE'),
+            ('iar', 'NUCLEO_F446ZE'),
+            ('iar', 'NUCLEO_L011K4'),
+            ('iar', 'NUCLEO_L031K6'),
+            ('iar', 'NUCLEO_L053R8'),
+            ('iar', 'NUCLEO_L073RZ'),
+            ('iar', 'NUCLEO_L152RE'),
+            ('iar', 'NUCLEO_L432KC'),
+            ('iar', 'NUCLEO_L476RG'),
+            ('iar', 'DISCO_L053C8'),
+            ('iar', 'DISCO_F334C8'),
+            ('iar', 'DISCO_F429ZI'),
+            ('iar', 'DISCO_F469NI'),
+            ('iar', 'DISCO_F746NG'),
+            ('iar', 'DISCO_L476VG'),
+            ('iar', 'STM32F407'),
+            ('iar', 'MTS_MDOT_F405RG'),
+            ('iar', 'MTS_MDOT_F411RE'),
+            ('iar', 'MAXWSNENV'),
+            ('iar', 'MAX32600MBED'),
+            ('iar', 'MAX32620HSP'),
+            ('iar', 'MOTE_L152RC'),
+            ('iar', 'RZ_A1H'),
+
+            # ('sw4stm32', 'DISCO_F051R8'),
+            # ('sw4stm32', 'DISCO_F100RB'),
+            ('sw4stm32', 'DISCO_F303VC'),
+            ('sw4stm32', 'DISCO_F334C8'),
+            # ('sw4stm32', 'DISCO_F401VC'),
+            ('sw4stm32', 'DISCO_F407VG'),
+            ('sw4stm32', 'DISCO_F429ZI'),
+            ('sw4stm32', 'DISCO_F469NI'),
+            ('sw4stm32', 'DISCO_F746NG'),
+            ('sw4stm32', 'DISCO_L053C8'),
+            ('sw4stm32', 'DISCO_L476VG'),
+            ('sw4stm32', 'NUCLEO_F030R8'),
+            ('sw4stm32', 'NUCLEO_F031K6'),
+            ('sw4stm32', 'NUCLEO_F042K6'),
+            ('sw4stm32', 'NUCLEO_F070RB'),
+            ('sw4stm32', 'NUCLEO_F072RB'),
+            ('sw4stm32', 'NUCLEO_F091RC'),
+            ('sw4stm32', 'NUCLEO_F103RB'),
+            ('sw4stm32', 'NUCLEO_F302R8'),
+            ('sw4stm32', 'NUCLEO_F303K8'),
+            ('sw4stm32', 'NUCLEO_F303RE'),
+            ('sw4stm32', 'NUCLEO_F334R8'),
+            ('sw4stm32', 'NUCLEO_F401RE'),
+            ('sw4stm32', 'NUCLEO_F410RB'),
+            ('sw4stm32', 'NUCLEO_F411RE'),
+            ('sw4stm32', 'NUCLEO_F429ZI'),
+            ('sw4stm32', 'NUCLEO_F446RE'),
+            ('sw4stm32', 'NUCLEO_F446ZE'),
+            ('sw4stm32', 'NUCLEO_L011K4'),
+            ('sw4stm32', 'NUCLEO_L053R8'),
+            ('sw4stm32', 'NUCLEO_L073RZ'),
+            ('sw4stm32', 'NUCLEO_L152RE'),
+            ('sw4stm32', 'NUCLEO_L432KC'),
+            ('sw4stm32', 'NUCLEO_L476RG'),
+            ('sw4stm32', 'NUCLEO_F031K6'),
+            ('sw4stm32', 'NUCLEO_F042K6'),
+            ('sw4stm32', 'NUCLEO_F303ZE'),
+            ('sw4stm32', 'NUCLEO_F410RB'),
+
+            ('e2studio', 'RZ_A1H'),
+            # Removed following item to avoid script error
+            #(None, None),
+        ]:
+        print '\n=== Exporting to "%s::%s" ===' % (toolchain, target)
+        test_export(toolchain, target)
+
+    print "\n=== Test error messages ==="
+    test_export('lpcxpresso', 'LPC11U24', expected_error='lpcxpresso')