preserve transport outage validation evidence
This commit is contained in:
@@ -3,6 +3,12 @@
|
||||
|
||||
#include "trikke_protocol.h"
|
||||
|
||||
static int fail(int code, const char *message)
|
||||
{
|
||||
fprintf(stderr, "protocol fixture failure %d: %s\n", code, message);
|
||||
return code;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
uint8_t packet[TRIKKE_WIRE_MAX_PACKET_SIZE] = {0};
|
||||
@@ -20,7 +26,7 @@ int main(void)
|
||||
size_t size = trikke_encode_metadata_packet(
|
||||
packet, sizeof(packet), 41, 1234567, 2, 3, &metadata);
|
||||
if (size == 0 || fwrite(packet, 1, size, stdout) != size) {
|
||||
return 1;
|
||||
return fail(1, "metadata encoding or output");
|
||||
}
|
||||
|
||||
const trikke_wire_sample_t samples[] = {
|
||||
@@ -52,7 +58,7 @@ int main(void)
|
||||
size = trikke_encode_sample_packet(packet, sizeof(packet), 42, 2, 3,
|
||||
samples, 2);
|
||||
if (size == 0 || fwrite(packet, 1, size, stdout) != size) {
|
||||
return 1;
|
||||
return fail(2, "basic sample encoding or output");
|
||||
}
|
||||
|
||||
trikke_wire_sample_t full_packet[TRIKKE_WIRE_MAX_RECORDS] = {0};
|
||||
@@ -69,7 +75,7 @@ int main(void)
|
||||
TRIKKE_WIRE_MAX_RECORDS);
|
||||
if (size != TRIKKE_WIRE_MAX_PACKET_SIZE ||
|
||||
fwrite(packet, 1, size, stdout) != size) {
|
||||
return 2;
|
||||
return fail(3, "maximum-size sample encoding or output");
|
||||
}
|
||||
|
||||
const trikke_wire_sample_t saturated[] = {
|
||||
@@ -79,13 +85,13 @@ int main(void)
|
||||
size = trikke_encode_sample_packet(packet, sizeof(packet), 44, 2, 3,
|
||||
saturated, 2);
|
||||
if (size == 0 || fwrite(packet, 1, size, stdout) != size) {
|
||||
return 3;
|
||||
return fail(4, "saturated timestamp encoding or output");
|
||||
}
|
||||
|
||||
if (!trikke_wire_timestamp_delta_fits(0, 655350) ||
|
||||
trikke_wire_timestamp_delta_fits(0, 655351) ||
|
||||
trikke_wire_timestamp_delta_fits(1, 0)) {
|
||||
return 4;
|
||||
return fail(5, "timestamp-delta boundary contract");
|
||||
}
|
||||
if (trikke_encode_metadata_packet(
|
||||
packet, TRIKKE_WIRE_HEADER_SIZE + TRIKKE_WIRE_METADATA_SIZE - 1,
|
||||
@@ -98,7 +104,7 @@ int main(void)
|
||||
trikke_encode_sample_packet(packet, TRIKKE_WIRE_MAX_PACKET_SIZE - 1,
|
||||
0, 0, 0, full_packet,
|
||||
TRIKKE_WIRE_MAX_RECORDS) != 0) {
|
||||
return 5;
|
||||
return fail(6, "invalid argument rejection contract");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user