diff options
| author | Paul Oliver <contact@pauloliver.dev> | 2026-07-07 23:30:52 +0200 |
|---|---|---|
| committer | Paul Oliver <contact@pauloliver.dev> | 2026-07-20 04:00:10 +0200 |
| commit | a61a742245d429b8d085208e249bb3bc80e44fb6 (patch) | |
| tree | bfa44c45de28f9890e15c5ef98ae8d1cec6e36a9 /test/ui/push | |
| parent | 55928b51596de4cd1b7a2783529ecda3ff3087ce (diff) | |
data-tests (WIP)more_tests
Diffstat (limited to 'test/ui/push')
| -rw-r--r-- | test/ui/push/ui.c | 101 | ||||
| -rw-r--r-- | test/ui/push/vars.py | 2 |
2 files changed, 102 insertions, 1 deletions
diff --git a/test/ui/push/ui.c b/test/ui/push/ui.c index e345658..281f15b 100644 --- a/test/ui/push/ui.c +++ b/test/ui/push/ui.c @@ -1,10 +1,111 @@ +#include <json-c/json.h> + +#if CORES != 1 +#error +#endif + +struct json_object *g_outputs; +uint64_t g_rowid; + +void append_output(void) { + json_object_array_add(json_object_object_get(g_outputs, "rowid"), json_object_new_int64(++g_rowid)); + json_object_array_add(json_object_object_get(g_outputs, "cycl_0"), json_object_new_int64(g_cores->cycl)); + json_object_array_add(json_object_object_get(g_outputs, "mall_0"), json_object_new_int64(g_cores->mall)); + json_object_array_add(json_object_object_get(g_outputs, "pnum_0"), json_object_new_int64(g_cores->pnum)); + json_object_array_add(json_object_object_get(g_outputs, "pfst_0"), json_object_new_int64(g_cores->pfst)); + json_object_array_add(json_object_object_get(g_outputs, "plst_0"), json_object_new_int64(g_cores->plst)); + json_object_array_add(json_object_object_get(g_outputs, "amb0_0"), json_object_new_int64(g_cores->amb0)); + json_object_array_add(json_object_object_get(g_outputs, "amb1_0"), json_object_new_int64(g_cores->amb1)); + json_object_array_add(json_object_object_get(g_outputs, "emb0_0"), json_object_new_int64(g_cores->emb0)); + json_object_array_add(json_object_object_get(g_outputs, "emb1_0"), json_object_new_int64(g_cores->emb1)); + json_object_array_add(json_object_object_get(g_outputs, "eliv_0"), json_object_new_int64(g_cores->eliv)); + json_object_array_add(json_object_object_get(g_outputs, "edea_0"), json_object_new_int64(g_cores->edea)); + json_object_array_add(json_object_object_get(g_outputs, "wmb0_0"), json_object_new_int64(g_cores->wmb0)); + json_object_array_add(json_object_object_get(g_outputs, "wmb1_0"), json_object_new_int64(g_cores->wmb1)); + json_object_array_add(json_object_object_get(g_outputs, "wdea_0"), json_object_new_int64(g_cores->wdea)); + +#define EVENT_ARRAY(core, index, ev) \ + json_object_array_add(json_object_object_get(g_outputs, #ev EVENT_ARRAYS_SIZE_COL_MARKER #core), json_object_new_int64(g_cores[core].ev##_blob_size)); \ + for (uint64_t i = 0; i < MVEC_SIZE; i++) { \ + json_object_array_add(json_object_object_get(g_outputs, #ev "_" #core), json_object_new_int64(g_cores->ev##a[i])); \ + } + EVENT_ARRAYS(0) +#undef EVENT_ARRAY + +#define ARCH_EVENT_ARRAY(core, index, ev) \ + json_object_array_add(json_object_object_get(g_outputs, #ev EVENT_ARRAYS_SIZE_COL_MARKER #core), json_object_new_int64(g_cores[core].ev##_blob_size)); \ + for (uint64_t i = 0; i < MVEC_SIZE; i++) { \ + json_object_array_add(json_object_object_get(g_outputs, #ev "_" #core), json_object_new_int64(g_cores->ev##a[i])); \ + } + ARCH_EVENT_ARRAYS(0) +#undef ARCH_EVENT_ARRAY + +#define INST(core, pref, index, label, mnemonic, symbol) \ + json_object_array_add(json_object_object_get(g_outputs, #label "_" #pref "_" #core), json_object_new_int64(g_cores->i##pref[index])); +#define INST_EVENT_ARRAY(core, index, iv) \ + INST_SET(core, iv) + INST_EVENT_ARRAYS(0) +#undef INST_EVENT_ARRAY +#undef INST + + json_object_array_add(json_object_object_get(g_outputs, "step"), json_object_new_int64(g_steps)); +} + int main(void) { #if defined(COMMAND_NEW) salis_init(); #elif defined(COMMAND_LOAD) salis_load(); #endif + + g_outputs = json_object_new_object(); + + json_object_object_add(g_outputs, "rowid", json_object_new_array()); + json_object_object_add(g_outputs, "cycl_0", json_object_new_array()); + json_object_object_add(g_outputs, "mall_0", json_object_new_array()); + json_object_object_add(g_outputs, "pnum_0", json_object_new_array()); + json_object_object_add(g_outputs, "pfst_0", json_object_new_array()); + json_object_object_add(g_outputs, "plst_0", json_object_new_array()); + json_object_object_add(g_outputs, "amb0_0", json_object_new_array()); + json_object_object_add(g_outputs, "amb1_0", json_object_new_array()); + json_object_object_add(g_outputs, "emb0_0", json_object_new_array()); + json_object_object_add(g_outputs, "emb1_0", json_object_new_array()); + json_object_object_add(g_outputs, "eliv_0", json_object_new_array()); + json_object_object_add(g_outputs, "edea_0", json_object_new_array()); + json_object_object_add(g_outputs, "wmb0_0", json_object_new_array()); + json_object_object_add(g_outputs, "wmb1_0", json_object_new_array()); + json_object_object_add(g_outputs, "wdea_0", json_object_new_array()); + +#define EVENT_ARRAY(core, index, ev) \ + json_object_object_add(g_outputs, #ev EVENT_ARRAYS_SIZE_COL_MARKER #core, json_object_new_array()); \ + json_object_object_add(g_outputs, #ev "_" #core, json_object_new_array()); + EVENT_ARRAYS(0) +#undef EVENT_ARRAY + +#define ARCH_EVENT_ARRAY(core, index, ev) \ + json_object_object_add(g_outputs, #ev EVENT_ARRAYS_SIZE_COL_MARKER #core, json_object_new_array()); \ + json_object_object_add(g_outputs, #ev "_" #core, json_object_new_array()); + ARCH_EVENT_ARRAYS(0) +#undef ARCH_EVENT_ARRAY + +#define INST(core, pref, index, label, mnemonic, symbol) \ + json_object_object_add(g_outputs, #label "_" #pref "_" #core, json_object_new_array()); +#define INST_EVENT_ARRAY(core, index, iv) \ + INST_SET(core, iv) + INST_EVENT_ARRAYS(0) +#undef INST_EVENT_ARRAY +#undef INST + + json_object_object_add(g_outputs, "step", json_object_new_array()); + + append_output(); salis_step(DATA_PUSH_INTERVAL); + append_output(); + salis_step(1); + + json_object_to_file(SIM_DIR "/outputs.json", g_outputs); + json_object_put(g_outputs); + salis_save(SIM_PATH); salis_free(); return 0; diff --git a/test/ui/push/vars.py b/test/ui/push/vars.py index 9c2a9f3..ca0e801 100644 --- a/test/ui/push/vars.py +++ b/test/ui/push/vars.py @@ -1,3 +1,3 @@ flags = set() defines = set() -links = set() +links = {"-ljson-c"} |
