summaryrefslogtreecommitdiff
path: root/tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp')
-rw-r--r--tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp92
1 files changed, 92 insertions, 0 deletions
diff --git a/tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp b/tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp
new file mode 100644
index 0000000000..a7d3185e54
--- /dev/null
+++ b/tool/mbed/mbed-sdk/libraries/tests/mbed/env/test_env.cpp
@@ -0,0 +1,92 @@
+#include "test_env.h"
+
+// Const strings used in test_end
+const char* TEST_ENV_START = "start";
+const char* TEST_ENV_SUCCESS = "success";
+const char* TEST_ENV_FAILURE = "failure";
+const char* TEST_ENV_MEASURE = "measure";
+const char* TEST_ENV_END = "end";
+
+
+static void led_blink(PinName led, float delay)
+{
+ if (led != NC) {
+ DigitalOut myled(led);
+ while (1) {
+ myled = !myled;
+ wait(delay);
+ }
+ }
+ while(1);
+}
+
+void notify_start()
+{
+ printf("{{%s}}" NL, TEST_ENV_START);
+}
+
+void notify_performance_coefficient(const char* measurement_name, const int value)
+{
+ printf("{{%s;%s;%d}}" RCNL, TEST_ENV_MEASURE, measurement_name, value);
+}
+
+void notify_performance_coefficient(const char* measurement_name, const unsigned int value)
+{
+ printf("{{%s;%s;%u}}" RCNL, TEST_ENV_MEASURE, measurement_name, value);
+}
+
+void notify_performance_coefficient(const char* measurement_name, const double value)
+{
+ printf("{{%s;%s;%f}}" RCNL, TEST_ENV_MEASURE, measurement_name, value);
+}
+
+void notify_completion(bool success)
+{
+ printf("{{%s}}" NL "{{%s}}" NL, success ? TEST_ENV_SUCCESS : TEST_ENV_FAILURE, TEST_ENV_END);
+ led_blink(LED1, success ? 1.0 : 0.1);
+}
+
+bool notify_completion_str(bool success, char* buffer)
+{
+ bool result = false;
+ if (buffer) {
+ sprintf(buffer, "{{%s}}" NL "{{%s}}" NL, success ? TEST_ENV_SUCCESS : TEST_ENV_FAILURE, TEST_ENV_END);
+ result = true;
+ }
+ return result;
+}
+
+// Host test auto-detection API
+void notify_host_test_name(const char *host_test) {
+ if (host_test) {
+ printf("{{host_test_name;%s}}" NL, host_test);
+ }
+}
+
+void notify_timeout(int timeout) {
+ printf("{{timeout;%d}}" NL, timeout);
+}
+
+void notify_test_id(const char *test_id) {
+ if (test_id) {
+ printf("{{test_id;%s}}" NL, test_id);
+ }
+}
+
+void notify_test_description(const char *description) {
+ if (description) {
+ printf("{{description;%s}}" NL, description);
+ }
+}
+
+
+// -DMBED_BUILD_TIMESTAMP=1406208182.13
+unsigned int testenv_randseed()
+{
+ unsigned int seed = 0;
+#ifdef MBED_BUILD_TIMESTAMP
+ long long_seed = static_cast<long>(MBED_BUILD_TIMESTAMP);
+ seed = long_seed & 0xFFFFFFFF;
+#endif /* MBED_BUILD_TIMESTAMP */
+ return seed;
+}