Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: pal/Test/Scripts/perform_test_mbedOS.py
- Revision:
- 0:06ee5f8a484a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pal/Test/Scripts/perform_test_mbedOS.py Sat Mar 18 22:37:16 2017 +0000
@@ -0,0 +1,83 @@
+# -----------------------------------------------------------------------
+# Copyright (c) 2016 ARM Limited. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+# 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.
+# -----------------------------------------------------------------------
+
+#####################################################################
+# Install and run PAL tests for mbed targets.
+#
+# Arguments: One or more binary files containing tests to execute.
+#
+# Output: <binary file>_result.txt - Textual result summary
+# <binary file>.xml - Junit result summary
+# ARM
+# Clive Bluston
+#####################################################################
+from mbed import MBED
+import os
+import sys
+import unity_to_junit
+from time import sleep
+
+# Check that at least one test is specified on the command line
+if len(sys.argv) < 2:
+ sys.exit()
+else:
+ tests = sys.argv[1:]
+
+# List of textual result files.
+resultFiles = []
+
+# Supported mbed devices. Can add to this list
+deviceList = ["K64F"]
+
+# Loop over attached mbed devices.
+for device in deviceList:
+ mbed = MBED(device)
+ deviceDetected = mbed.detect()
+ if deviceDetected:
+ # Loop over tests
+ for test in tests:
+ mbed.install_bin(test)
+ noSuffix = os.path.splitext(test)[0]
+ intermediateResultsFile = noSuffix+".int"
+ # Remove intermediate file just in case it was left over from a failed run.
+ if os.path.isfile(intermediateResultsFile):
+ os.remove(intermediateResultsFile)
+ resultFile = noSuffix+"_result.txt"
+ # This delay is to allow output that was generated before the reset to be discarded.
+ sleep(30)
+ # Capture test results from the serial port
+ if mbed.run_and_capture_till_timeout(intermediateResultsFile,baud=9600,read_timeout=10,endOfData="***END OF TESTS**"):
+ # Success. Convert results to Junit format and write to xml file.
+ unity_to_junit.unity_to_junit("mbedos_" + os.path.basename(noSuffix), intermediateResultsFile, noSuffix+".xml", resultFile)
+ # Output intermediate results to the console.
+ with open(intermediateResultsFile, 'r') as fin:
+ print fin.read()
+ os.remove(intermediateResultsFile)
+ # Add result file name to list
+ resultFiles.append(resultFile)
+ else:
+ response = raw_input("Connect Serial port. Enter when ready")
+ # Clean up. True parameter closes the device opened by mbed.detect()
+ mbed.end_run(False,True)
+
+
+# Copy result files to standard output
+for file in resultFiles:
+ with open(file, 'r') as fin:
+ print fin.read()
+
+
+