String indexer std::string removed

This commit is contained in:
hsaturn
2023-01-23 21:39:57 +01:00
parent d324a913ec
commit 787cb77a26
17 changed files with 316 additions and 59 deletions

View File

@@ -1,21 +1,29 @@
SUB=
tests:
@set -e; \
for i in $(SUB)*-tests/Makefile; do \
$(MAKE) -C $$(dirname $$i) -j clean; \
echo '==== Making:' $$(dirname $$i); \
$(MAKE) -C $$(dirname $$i) -j; \
done
valgrind:
@set -e; \
$(MAKE) tests; \
for i in $(SUB)*-tests/Makefile; do \
echo '==== Running:' $$(dirname $$i); \
valgrind $$(dirname $$i)/$$(dirname $$i).out; \
done
debugtest:
@set -e; \
$(MAKE) clean; \
$(MAKE) -C debug-mode -j; \
debug-mode/debug-tests.out
runtests: debugtest
@$(MAKE) clean
@$(MAKE) tests
runtests:
@set -e; \
$(MAKE) tests; \
for i in $(SUB)*-tests/Makefile; do \
echo '==== Running:' $$(dirname $$i); \
$$(dirname $$i)/$$(dirname $$i).out; \

View File

@@ -340,7 +340,7 @@ void setup() {
while(!Serial);
*/
Serial.println("=============[ FAKE NETWORK TinyMqtt TESTS ]========================");
Serial.println("=============[ TinyMqtt class-bind TESTS ]========================");
WiFi.mode(WIFI_STA);
WiFi.begin("network", "password");

View File

@@ -1,10 +1,7 @@
# See https://github.com/bxparks/EpoxyDuino for documentation about this
# Makefile to compile and run Arduino programs natively on Linux or MacOS.
EXTRA_CXXFLAGS=-g3 -O0
# Remove flto flag from EpoxyDuino (too many <optimized out>)
CXXFLAGS = -Wextra -Wall -std=gnu++11 -fno-exceptions -fno-threadsafe-statics
include ../Makefile.opts
APP_NAME := local-tests
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsyncTCP TinyConsole

View File

@@ -16,7 +16,7 @@ using namespace std;
MqttBroker broker(1883);
std::map<std::string, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
std::map<TinyString, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
const char* lastPayload;
size_t lastLength;
@@ -40,7 +40,7 @@ test(local_client_should_unregister_when_destroyed)
assertEqual(broker.clientsCount(), (size_t)0);
}
test(local_client_do_not_disconnect_after_publishing)
test(local_client_do_not_disconnect_after_publishing_and_long_inactivity)
{
EpoxyTest::set_millis(0);
MqttBroker broker(1883);
@@ -56,11 +56,16 @@ test(local_client_do_not_disconnect_after_publishing)
sender.publish("test", "value");
broker.loop();
EpoxyTest::add_seconds(60);
EpoxyTest::add_seconds(600);
client.loop();
sender.loop();
broker.loop();
sender.publish("test", "value");
broker.loop();
sender.loop();
broker.loop();
assertEqual(broker.clientsCount(), (size_t)2);
assertEqual(sender.connected(), true);
assertEqual(client.connected(), true);

View File

@@ -1,10 +1,10 @@
# See https://github.com/bxparks/EpoxyDuino for documentation about this
# Makefile to compile and run Arduino programs natively on Linux or MacOS.
EXTRA_CXXFLAGS=-g3 -O0
include ../Makefile.opts
# Remove flto flag from EpoxyDuino (too many <optimized out>)
CXXFLAGS = -Wextra -Wall -std=gnu++11 -fno-exceptions -fno-threadsafe-statics
# CXXFLAGS = -Wextra -Wall -std=gnu++11 -fno-exceptions -fno-threadsafe-statics
APP_NAME := network-tests
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsyncTCP TinyConsole

View File

@@ -78,7 +78,7 @@ String toString(const IPAddress& ip)
MqttBroker broker(1883);
std::map<std::string, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
std::map<TinyString, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
char* lastPayload = nullptr;
size_t lastLength;
@@ -463,4 +463,5 @@ void loop() {
aunit::TestRunner::run();
if (Serial.available()) ESP.reset();
published.clear(); // Avoid crash in unit tests due to exit handlers
}

View File

@@ -1,10 +1,7 @@
# See https://github.com/bxparks/EpoxyDuino for documentation about this
# Makefile to compile and run Arduino programs natively on Linux or MacOS.
EXTRA_CXXFLAGS=-g3 -O0
# Remove flto flag from EpoxyDuino (too many <optimized out>)
CXXFLAGS = -Wextra -Wall -std=gnu++11 -fno-exceptions -fno-threadsafe-statics
include ../Makefile.opts
APP_NAME := nowifi-tests
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsyncTCP TinyConsole

View File

@@ -15,7 +15,7 @@ using namespace std;
MqttBroker broker(1883);
std::map<std::string, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
std::map<TinyString, std::map<Topic, int>> published; // map[client_id] => map[topic] = count
char* lastPayload = nullptr;
size_t lastLength;
@@ -279,4 +279,5 @@ void loop() {
aunit::TestRunner::run();
if (Serial.available()) ESP.reset();
published.clear(); // Avoid crash at exit handlers
}

View File

@@ -1,7 +1,7 @@
# See https://github.com/bxparks/EpoxyDuino for documentation about this
# Makefile to compile and run Arduino programs natively on Linux or MacOS.
EXTRA_CXXFLAGS=-g3 -O0
include ../Makefile.opts
APP_NAME := string-indexer-tests
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsync TinyConsole

View File

@@ -84,7 +84,7 @@ test(indexer_indexed_operator_eq)
test(indexer_get_string)
{
std::string sone("one");
TinyString sone("one");
IndexedString one(sone);
assertTrue(sone==one.str());

View File

@@ -1,7 +1,7 @@
# See https://github.com/bxparks/EpoxyDuino for documentation about this
# Makefile to compile and run Arduino programs natively on Linux or MacOS.
EXTRA_CXXFLAGS=-g3 -O0
include ../Makefile.opts
APP_NAME := topic-tests
ARDUINO_LIBS := AUnit AceCommon AceTime TinyMqtt EspMock ESP8266WiFi ESPAsync TinyConsole