Initial LinuxCNC WebAssembly workspace snapshot
This commit is contained in:
28
wasm-core/tests/sim_event_test.c
Normal file
28
wasm-core/tests/sim_event_test.c
Normal file
@@ -0,0 +1,28 @@
|
||||
#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);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user