Skip to content

Commit acc3115

Browse files
committed
Move utest global serial object into a function.
That way it is not a global object anymore and is not attached to the .init section and init array. If the function which contain the object is not called then the serial object will not be present in the final binary.
1 parent 9111aa4 commit acc3115

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

features/frameworks/greentea-client/source/test_env.cpp

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include <string.h>
2121
#include "mbed.h"
2222
#include "greentea-client/test_env.h"
23-
#include "greentea-client/greentea_serial.h"
2423

2524

2625
/**
@@ -58,6 +57,15 @@ static void greentea_notify_hosttest(const char *);
5857
static void greentea_notify_completion(const int);
5958
static void greentea_notify_version();
6059

60+
/**
61+
* Rawserial object used to provide direct, raw serial communications
62+
* between the target and the host.
63+
*/
64+
RawSerial& greentea_serial() {
65+
RawSerial serial(USBTX, USBRX);
66+
return serial;
67+
}
68+
6169
/** \brief Handshake with host and send setup data (timeout and host test name)
6270
* \details This function will send preamble to master.
6371
* After host test name is received master will invoke host test script
@@ -187,8 +195,8 @@ void greentea_notify_coverage_end() {
187195
*/
188196
inline void greentea_write_preamble()
189197
{
190-
greentea_serial->putc('{');
191-
greentea_serial->putc('{');
198+
greentea_serial().putc('{');
199+
greentea_serial().putc('{');
192200
}
193201

194202
/**
@@ -205,9 +213,9 @@ inline void greentea_write_preamble()
205213
*/
206214
inline void greentea_write_postamble()
207215
{
208-
greentea_serial->putc('}');
209-
greentea_serial->putc('}');
210-
greentea_serial->putc('\n');
216+
greentea_serial().putc('}');
217+
greentea_serial().putc('}');
218+
greentea_serial().putc('\n');
211219
}
212220

213221
/**
@@ -223,7 +231,7 @@ inline void greentea_write_postamble()
223231
inline void greentea_write_string(const char *str)
224232
{
225233
while (*str != '\0') {
226-
greentea_serial->putc(*str);
234+
greentea_serial().putc(*str);
227235
str ++;
228236
}
229237
}
@@ -249,7 +257,7 @@ inline void greentea_write_int(const int val)
249257
unsigned int i = 0;
250258
sprintf(intval, "%d", val);
251259
while (intval[i] != '\0') {
252-
greentea_serial->putc(intval[i]);
260+
greentea_serial().putc(intval[i]);
253261
i++;
254262
}
255263
}
@@ -269,7 +277,7 @@ void greentea_send_kv(const char *key, const char *val) {
269277
if (key && val) {
270278
greentea_write_preamble();
271279
greentea_write_string(key);
272-
greentea_serial->putc(';');
280+
greentea_serial().putc(';');
273281
greentea_write_string(val);
274282
greentea_write_postamble();
275283
}
@@ -292,7 +300,7 @@ void greentea_send_kv(const char *key, const int val) {
292300
if (key) {
293301
greentea_write_preamble();
294302
greentea_write_string(key);
295-
greentea_serial->putc(';');
303+
greentea_serial().putc(';');
296304
greentea_write_int(val);
297305
greentea_write_postamble();
298306
}
@@ -316,9 +324,9 @@ void greentea_send_kv(const char *key, const char *val, const int result) {
316324
if (key) {
317325
greentea_write_preamble();
318326
greentea_write_string(key);
319-
greentea_serial->putc(';');
327+
greentea_serial().putc(';');
320328
greentea_write_string(val);
321-
greentea_serial->putc(';');
329+
greentea_serial().putc(';');
322330
greentea_write_int(result);
323331
greentea_write_postamble();
324332

@@ -349,11 +357,11 @@ void greentea_send_kv(const char *key, const char *val, const int passes, const
349357
if (key) {
350358
greentea_write_preamble();
351359
greentea_write_string(key);
352-
greentea_serial->putc(';');
360+
greentea_serial().putc(';');
353361
greentea_write_string(val);
354-
greentea_serial->putc(';');
362+
greentea_serial().putc(';');
355363
greentea_write_int(passes);
356-
greentea_serial->putc(';');
364+
greentea_serial().putc(';');
357365
greentea_write_int(failures);
358366
greentea_write_postamble();
359367
}
@@ -382,9 +390,9 @@ void greentea_send_kv(const char *key, const int passes, const int failures) {
382390
if (key) {
383391
greentea_write_preamble();
384392
greentea_write_string(key);
385-
greentea_serial->putc(';');
393+
greentea_serial().putc(';');
386394
greentea_write_int(passes);
387-
greentea_serial->putc(';');
395+
greentea_serial().putc(';');
388396
greentea_write_int(failures);
389397
greentea_write_postamble();
390398
}

0 commit comments

Comments
 (0)