Merge branch 'AsyncTcp' of github.com:hsaturn/TinyMqtt into AsyncTcp
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ESP8266WiFi.h>
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Allows to store up to 255 different strings with one byte class
|
* Allows to store up to 255 different strings with one byte class
|
||||||
|
|||||||
@@ -672,6 +672,7 @@ void MqttMessage::add(const char* p, size_t len, bool addLength)
|
|||||||
{
|
{
|
||||||
if (addLength)
|
if (addLength)
|
||||||
{
|
{
|
||||||
|
buffer.reserve(buffer.length()+addLength+2);
|
||||||
incoming(len>>8);
|
incoming(len>>8);
|
||||||
incoming(len & 0xFF);
|
incoming(len & 0xFF);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,23 +80,15 @@ class MqttMessage
|
|||||||
// output buff+=2, len=length(str)
|
// output buff+=2, len=length(str)
|
||||||
static void getString(const char* &buff, uint16_t& len);
|
static void getString(const char* &buff, uint16_t& len);
|
||||||
|
|
||||||
|
|
||||||
Type type() const
|
Type type() const
|
||||||
{
|
{
|
||||||
return state == Complete ? static_cast<Type>(buffer[0]) : Unknown;
|
return state == Complete ? static_cast<Type>(buffer[0]) : Unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
// shouldn't exist because it breaks constness :-(
|
|
||||||
// but this saves memory so ...
|
|
||||||
void changeType(Type type) const
|
|
||||||
{
|
|
||||||
buffer[0] = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
void create(Type type)
|
void create(Type type)
|
||||||
{
|
{
|
||||||
buffer=(char)type;
|
buffer=(char)type;
|
||||||
buffer+='\0';
|
buffer+='\0'; // reserved for msg length
|
||||||
vheader=2;
|
vheader=2;
|
||||||
size=0;
|
size=0;
|
||||||
state=Create;
|
state=Create;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ tests:
|
|||||||
$(MAKE) -C $$(dirname $$i) -j; \
|
$(MAKE) -C $$(dirname $$i) -j; \
|
||||||
done
|
done
|
||||||
|
|
||||||
runtests:
|
runtests: tests
|
||||||
set -e; \
|
set -e; \
|
||||||
for i in *-tests/Makefile; do \
|
for i in *-tests/Makefile; do \
|
||||||
echo '==== Running:' $$(dirname $$i); \
|
echo '==== Running:' $$(dirname $$i); \
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
|
|
||||||
APP_NAME := local-tests
|
APP_NAME := local-tests
|
||||||
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
||||||
ESP_LIBS = ESP8266WiFi
|
ESP_LIBS = ESP8266WiFi ESPAsyncTCP
|
||||||
include ../../../EspMock/EspMock.mk
|
include ../../../EspMock/EspMock.mk
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
|
|
||||||
APP_NAME := nowifi-tests
|
APP_NAME := nowifi-tests
|
||||||
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
||||||
ESP_LIBS = ESP8266WiFi
|
ESP_LIBS = ESP8266WiFi ESPAsyncTCP
|
||||||
include ../../../EspMock/EspMock.mk
|
include ../../../EspMock/EspMock.mk
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
|
|
||||||
APP_NAME := string-indexer-tests
|
APP_NAME := string-indexer-tests
|
||||||
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock
|
||||||
ESP_LIBS = ESP8266WiFi
|
ESP_LIBS = ESP8266WiFi ESPAsyncTCP
|
||||||
include ../../../EspMock/EspMock.mk
|
include ../../../EspMock/EspMock.mk
|
||||||
|
|||||||
@@ -1,28 +1,14 @@
|
|||||||
#include <AUnit.h>
|
#include <AUnit.h>
|
||||||
#include <TinyMqtt.h>
|
#include <StringIndexer.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TinyMqtt local unit tests.
|
* TinyMqtt / StringIndexer unit tests.
|
||||||
*
|
*
|
||||||
* Clients are connected to pseudo remote broker
|
|
||||||
* The remote will be 127.0.0.1:1883
|
|
||||||
* We are using 127.0.0.1 because this is simpler to test with a single ESP
|
|
||||||
* Also, this will allow to mock and thus run Action on github
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
MqttBroker broker(1883);
|
|
||||||
|
|
||||||
std::map<std::string, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
|
|
||||||
|
|
||||||
void onPublish(const MqttClient* srce, const Topic& topic, const char* payload, size_t length)
|
|
||||||
{
|
|
||||||
if (srce)
|
|
||||||
published[srce->id()][topic]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
test(indexer_empty)
|
test(indexer_empty)
|
||||||
{
|
{
|
||||||
assertEqual(StringIndexer::count(), 0);
|
assertEqual(StringIndexer::count(), 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user