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
2026-02-20 02:49:07 +09:00
committed by tequ
parent c764643d52
commit 01c1f87eca
268 changed files with 3832 additions and 1049 deletions

View File

@@ -878,9 +878,10 @@ STObject::add(Serializer& s, WhichFields whichFields) const
// the type associated by rule with this field name
// must be OBJECT, or the object cannot be deserialized
SerializedTypeID const sType{field->getSType()};
assert(
ASSERT(
(sType != STI_OBJECT) ||
(field->getFName().fieldType == STI_OBJECT));
(field->getFName().fieldType == STI_OBJECT),
"ripple::STObject::add : valid field type");
field->addFieldID(s);
field->add(s);
if (sType == STI_ARRAY || sType == STI_OBJECT)