WIP adhoc test looks ok

This commit is contained in:
2024-06-14 17:58:33 -07:00
parent 8b22fbe261
commit 685b49c96d
2 changed files with 101 additions and 73 deletions

View File

@@ -1,56 +1,40 @@
#pragma once
#include "VersionedMap.h"
#include <cassert>
#include <ctype.h>
#include <inttypes.h>
#include <stdio.h>
inline void printBinary(const weaselab::VersionedMap::Key k) {
for (int i = 0; i < k.len; ++i) {
auto c = k.p[i];
if (isprint(c)) {
printf("%c", c);
} else {
printf("x%02x", c);
}
}
}
inline void
printMutation(const weaselab::VersionedMap::Iterator::VersionedMutation &m) {
switch (m.type) {
case weaselab::VersionedMap::Set:
printf("set ");
for (int i = 0; i < m.param1Len; ++i) {
auto c = m.param1[i];
if (isprint(c)) {
printf("%c", c);
} else {
printf("x%02x", c);
}
}
printBinary({m.param1, m.param1Len});
printf(" -> '");
for (int i = 0; i < m.param2Len; ++i) {
auto c = m.param2[i];
if (isprint(c)) {
printf("%c", c);
} else {
printf("x%02x", c);
}
}
printBinary({m.param2, m.param2Len});
printf("' @ %" PRId64 "\n", m.notModifiedSince);
break;
case weaselab::VersionedMap::Clear:
printf("clear [");
for (int i = 0; i < m.param1Len; ++i) {
auto c = m.param1[i];
if (isprint(c)) {
printf("%c", c);
} else {
printf("x%02x", c);
}
}
printBinary({m.param1, m.param1Len});
printf(", ");
for (int i = 0; i < m.param2Len; ++i) {
auto c = m.param2[i];
if (isprint(c)) {
printf("%c", c);
} else {
printf("x%02x", c);
}
}
printBinary({m.param2, m.param2Len});
printf(") @ %" PRId64 "\n", m.notModifiedSince);
break;
default: // GCOVR_EXCL_LINE
__builtin_unreachable(); // GCOVR_EXCL_LINE
default: // GCOVR_EXCL_LINE
assert(false); // GCOVR_EXCL_LINE
}
}