MsgPack: test failing string allocation

This commit is contained in:
Benoit Blanchon
2024-05-06 11:23:20 +02:00
parent 00949f8276
commit 071f718473

View File

@ -7,6 +7,8 @@
#include <sstream>
#include "Allocators.hpp"
TEST_CASE("deserializeMsgPack() returns InvalidInput") {
JsonDocument doc;
@ -228,3 +230,19 @@ TEST_CASE("deserializeMsgPack() replaces ext types by null") {
20) == "[null,42]");
}
}
TEST_CASE(
"deserializeMsgPack() returns NoMemory when string allocation fails") {
TimebombAllocator allocator(0);
JsonDocument doc(&allocator);
SECTION("fixstr") {
DeserializationError err = deserializeMsgPack(doc, "\xA5hello", 9);
REQUIRE(err == DeserializationError::NoMemory);
}
SECTION("bin 8") {
DeserializationError err = deserializeMsgPack(doc, "\xC4\x01X", 3);
REQUIRE(err == DeserializationError::NoMemory);
}
}