Skip to content

Sharing greentea-client's RawSerial with utest and UNITY. #2455

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 26, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef GREENTEA_SERIAL_H
#define GREENTEA_SERIAL_H

#include "RawSerial.h"
#include "SingletonPtr.h"

class GreenteaSerial : public mbed::RawSerial {
public:
GreenteaSerial();
};

extern SingletonPtr<GreenteaSerial> greentea_serial;
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include "greentea-client/greentea_serial.h"

SingletonPtr<GreenteaSerial> greentea_serial;

GreenteaSerial::GreenteaSerial() : mbed::RawSerial(USBTX, USBRX) {};
40 changes: 17 additions & 23 deletions features/frameworks/greentea-client/source/test_env.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <string.h>
#include "mbed.h"
#include "greentea-client/test_env.h"
#include "greentea-client/greentea_serial.h"


/**
Expand Down Expand Up @@ -57,13 +58,6 @@ static void greentea_notify_hosttest(const char *);
static void greentea_notify_completion(const int);
static void greentea_notify_version();

/**
* Rawserial object used to provide direct, raw serial communications
* between the target and the host.
*/
RawSerial greentea_serial(USBTX, USBRX);


/** \brief Handshake with host and send setup data (timeout and host test name)
* \details This function will send preamble to master.
* After host test name is received master will invoke host test script
Expand Down Expand Up @@ -193,8 +187,8 @@ void greentea_notify_coverage_end() {
*/
inline void greentea_write_preamble()
{
greentea_serial.putc('{');
greentea_serial.putc('{');
greentea_serial->putc('{');
greentea_serial->putc('{');
}

/**
Expand All @@ -211,9 +205,9 @@ inline void greentea_write_preamble()
*/
inline void greentea_write_postamble()
{
greentea_serial.putc('}');
greentea_serial.putc('}');
greentea_serial.putc('\n');
greentea_serial->putc('}');
greentea_serial->putc('}');
greentea_serial->putc('\n');
}

/**
Expand All @@ -229,7 +223,7 @@ inline void greentea_write_postamble()
inline void greentea_write_string(const char *str)
{
while (*str != '\0') {
greentea_serial.putc(*str);
greentea_serial->putc(*str);
str ++;
}
}
Expand All @@ -255,7 +249,7 @@ inline void greentea_write_int(const int val)
unsigned int i = 0;
sprintf(intval, "%d", val);
while (intval[i] != '\0') {
greentea_serial.putc(intval[i]);
greentea_serial->putc(intval[i]);
i++;
}
}
Expand All @@ -275,7 +269,7 @@ void greentea_send_kv(const char *key, const char *val) {
if (key && val) {
greentea_write_preamble();
greentea_write_string(key);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_string(val);
greentea_write_postamble();
}
Expand All @@ -298,7 +292,7 @@ void greentea_send_kv(const char *key, const int val) {
if (key) {
greentea_write_preamble();
greentea_write_string(key);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(val);
greentea_write_postamble();
}
Expand All @@ -322,9 +316,9 @@ void greentea_send_kv(const char *key, const char *val, const int result) {
if (key) {
greentea_write_preamble();
greentea_write_string(key);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_string(val);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(result);
greentea_write_postamble();

Expand Down Expand Up @@ -355,11 +349,11 @@ void greentea_send_kv(const char *key, const char *val, const int passes, const
if (key) {
greentea_write_preamble();
greentea_write_string(key);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_string(val);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(passes);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(failures);
greentea_write_postamble();
}
Expand Down Expand Up @@ -388,9 +382,9 @@ void greentea_send_kv(const char *key, const int passes, const int failures) {
if (key) {
greentea_write_preamble();
greentea_write_string(key);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(passes);
greentea_serial.putc(';');
greentea_serial->putc(';');
greentea_write_int(failures);
greentea_write_postamble();
}
Expand Down
4 changes: 2 additions & 2 deletions features/frameworks/utest/source/unity_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#include "utest/utest_harness.h"
#include "utest/utest_stack_trace.h"
#include "utest/unity_handler.h"
#include "utest/utest_serial.h"
#include "greentea-client/greentea_serial.h"

void utest_unity_assert_failure(void)
{
Expand All @@ -35,7 +35,7 @@ void utest_unity_ignore_failure(void)

void utest_safe_putc(int chr)
{
utest_serial.putc(chr);
greentea_serial->putc(chr);
}


28 changes: 0 additions & 28 deletions features/frameworks/utest/source/utest_serial.cpp

This file was deleted.

6 changes: 2 additions & 4 deletions features/frameworks/utest/utest/utest_serial.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,8 @@
#ifndef UTEST_SERIAL_H
#define UTEST_SERIAL_H

#include "mbed.h"
#include "greentea-client/greentea_serial.h"

extern RawSerial utest_serial;

#define utest_printf(...) utest_serial.printf(__VA_ARGS__)
#define utest_printf(...) greentea_serial->printf(__VA_ARGS__)

#endif // UTEST_SERIAL_H
1 change: 1 addition & 0 deletions features/frameworks/utest/utest/utest_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <stdbool.h>
#include <stdio.h>
#include "utest/utest_shim.h"
#include "SingletonPtr.h"

namespace utest {
namespace v1 {
Expand Down