WIP adhoc test looks ok
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user