Files
linuxcncWebWASM/wasm-core/tests/sim_event_test.c

36 lines
1.5 KiB
C

#include "sim_event.h"
#include <assert.h>
#include <string.h>
int main(void) {
uint8_t record[sizeof(sim_event_record)] = {0};
uint8_t exported[16384] = {0};
const uint8_t payload[] = {'o', 'k'};
sim_event_reset();
assert(sim_event_append(2, 0, "bad", payload, sizeof(payload)) == SIM_EVENT_ERR_SEQUENCE);
assert(sim_event_append(1, 2, "STEP", payload, sizeof(payload)) == SIM_EVENT_OK);
assert(sim_event_append(2, 1, "BAD_TICK", NULL, 0) == SIM_EVENT_ERR_TICK);
assert(sim_event_read(0, NULL, 0) == sizeof(sim_event_record));
assert(sim_event_read(0, record, sizeof(record)) == sizeof(record));
assert(((sim_event_record *)record)->seq == 1);
assert(sim_event_count() == 1);
assert(sim_event_cursor() == 1);
uint32_t export_size = sim_event_export(NULL, 0);
assert(export_size > 0 && export_size < sizeof(exported));
assert(sim_event_export(exported, sizeof(exported)) == export_size);
sim_event_reset();
assert(sim_event_import(exported, export_size) == SIM_EVENT_OK);
assert(sim_event_count() == 1);
assert(sim_event_import(exported, export_size - 1) == SIM_EVENT_ERR_ARGUMENT);
((sim_event_record *)exported)->seq = 2;
assert(sim_event_import(exported, export_size) == SIM_EVENT_ERR_SEQUENCE);
assert(sim_event_cursor() == 1);
((sim_event_record *)exported)->seq = 1;
((sim_event_record *)exported)->kind[SIM_EVENT_KIND_CAPACITY - 1U] = 'x';
assert(sim_event_import(exported, export_size) == SIM_EVENT_ERR_ARGUMENT);
assert(sim_event_cursor() == 1);
return 0;
}