Add Antithesis intrumentation (#5042)

* Copy Antithesis SDK version 0.4.0 to directory external/
* Add build option `voidstar` to enable instrumentation with Antithesis SDK
* Define instrumentation macros ASSERT and UNREACHABLE in terms of regular C assert
* Replace asserts with named ASSERT or UNREACHABLE
* Add UNREACHABLE to LogicError
* Document instrumentation macros in CONTRIBUTING.md
This commit is contained in:
Bronek Kozicki
2024-12-03 14:52:21 -05:00
committed by Ed Hennis
parent f64cf9187a
commit d7e949193f
261 changed files with 3848 additions and 1034 deletions

View File

@@ -107,7 +107,9 @@ int
Serializer::addFieldID(int type, int name)
{
int ret = mData.size();
assert((type > 0) && (type < 256) && (name > 0) && (name < 256));
ASSERT(
(type > 0) && (type < 256) && (name > 0) && (name < 256),
"ripple::Serializer::addFieldID : inputs inside range");
if (type < 16)
{
@@ -176,9 +178,10 @@ Serializer::addVL(Blob const& vector)
{
int ret = addEncoded(vector.size());
addRaw(vector);
assert(
ASSERT(
mData.size() ==
(ret + vector.size() + encodeLengthLength(vector.size())));
(ret + vector.size() + encodeLengthLength(vector.size())),
"ripple::Serializer::addVL : size matches expected");
return ret;
}
@@ -482,7 +485,8 @@ SerialIter::getVLDataLength()
}
else
{
assert(lenLen == 3);
ASSERT(
lenLen == 3, "ripple::SerialIter::getVLDataLength : lenLen is 3");
int b2 = get8();
int b3 = get8();
datLen = Serializer::decodeVLLength(b1, b2, b3);