AUnit  0.5.0
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Macros | Typedefs
Flash.h File Reference

Flash strings (using F() macro) on the ESP8266 platform cannot be placed in an inline context, because it interferes with other PROGMEM strings in non-inline contexts. More...

#include <avr/pgmspace.h>
Include dependency graph for Flash.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FPSTR(pstr_pointer)   (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))
 
#define AUNIT_F(x)   F(x)
 

Typedefs

typedef const __FlashStringHelper * aunit::internal::FlashStringType
 

Detailed Description

Flash strings (using F() macro) on the ESP8266 platform cannot be placed in an inline context, because it interferes with other PROGMEM strings in non-inline contexts.

See https://github.com/esp8266/Arduino/issues/3369. In some cases (e.g. TestMacros.h), we were able to move the F() macro into a non-inline context. But in other cases (e.g. AssertVerboseMacros.h) it is impossible to move these out of inline contexts because we want to support assertXxx() statements inside inlined methods. We use normal (const char*) strings instead of flash strings in those places instead.

Definition in file Flash.h.