Re-enabled lot of local unit tests

This commit is contained in:
hsaturn
2023-02-22 07:40:12 +01:00
parent 2a8dbd09c5
commit 143d57db2d
4 changed files with 35 additions and 14 deletions

View File

@@ -1,5 +1,7 @@
SUB=
all:runtests
tests:
@set -e; \
for i in $(SUB)*-tests/Makefile; do \

View File

@@ -1,7 +1,9 @@
# GCC
# CXXFLAGS = -Wextra -Wall -std=gnu++11 -fno-exceptions -fno-threadsafe-statics
CXXFLAGS=-D_GNU_SOURCE -Werror=return-type -std=gnu++11 -Wall
EXTRA_CXXFLAGS=-g3 -O0
CXXFLAGS=-D_GNU_SOURCE -Werror=return-type -std=gnu++17 -Wall -g3 -O0
# CLANG SANITIZE
# CXX=clang

View File

@@ -4,7 +4,7 @@
include ../Makefile.opts
APP_NAME := tinymqtt-test
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsync TinyConsole
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsync ESP8266mDNS TinyConsole
ARDUINO_LIB_DIRS := ../../../EspMock/libraries
EPOXY_CORE := EPOXY_CORE_ESP8266
DUMMY := 1

View File

@@ -29,6 +29,15 @@ void onPublish(const MqttClient* srce, const Topic& topic, const char* payload,
lastLength = length;
}
test(local_not_connected_by_default)
{
MqttClient client;
assertEqual(client.connected(), false);
MqttBroker broker(1883);
assertEqual(broker.connected(), false);
}
test(local_client_should_unregister_when_destroyed)
{
assertEqual(broker.clientsCount(), (size_t)0);
@@ -73,27 +82,36 @@ test(local_client_do_not_disconnect_after_publishing_and_long_inactivity)
assertEqual(published.size(), (size_t)1); // client has received something
}
#if 0
test(local_connect)
{
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient client;
MqttClient client(&broker);
assertTrue(client.connected());
assertEqual(broker.clientsCount(), (size_t)1);
}
test(local_publish_to_nowhere)
{
published.clear();
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient publisher;
MqttError status = publisher.publish("a/b");
assertEqual(status, MqttError::MqttNowhereToSend);
}
test(local_publish_should_be_dispatched)
{
published.clear();
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient subscriber;
MqttClient subscriber(&broker, "");
subscriber.subscribe("a/b");
subscriber.subscribe("a/c");
subscriber.setCallback(onPublish);
MqttClient publisher;
MqttClient publisher(&broker);
publisher.publish("a/b");
publisher.publish("a/c");
publisher.publish("a/c");
@@ -108,16 +126,16 @@ test(local_publish_should_be_dispatched_to_local_clients)
published.clear();
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient subscriber_a("A");
MqttClient subscriber_a(&broker, "A");
subscriber_a.setCallback(onPublish);
subscriber_a.subscribe("a/b");
subscriber_a.subscribe("a/c");
MqttClient subscriber_b("B");
MqttClient subscriber_b(&broker, "B");
subscriber_b.setCallback(onPublish);
subscriber_b.subscribe("a/b");
MqttClient publisher;
MqttClient publisher(&broker);
publisher.publish("a/b");
publisher.publish("a/c");
@@ -133,11 +151,11 @@ test(local_unsubscribe)
published.clear();
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient subscriber;
MqttClient subscriber(&broker, "");
subscriber.setCallback(onPublish);
subscriber.subscribe("a/b");
MqttClient publisher;
MqttClient publisher(&broker);
publisher.publish("a/b");
subscriber.unsubscribe("a/b");
@@ -153,9 +171,9 @@ test(local_nocallback_when_destroyed)
published.clear();
assertEqual(broker.clientsCount(), (size_t)0);
MqttClient publisher;
MqttClient publisher(&broker);
{
MqttClient subscriber;
MqttClient subscriber(&broker);
subscriber.setCallback(onPublish);
subscriber.subscribe("a/b");
publisher.publish("a/b");
@@ -165,7 +183,6 @@ test(local_nocallback_when_destroyed)
assertEqual(published.size(), (size_t)1); // Only one publish has been received
}
#endif
//----------------------------------------------------------------------------
// setup() and loop()