diff options
| author | 2026-06-29 03:00:12 -0500 | |
|---|---|---|
| committer | 2026-06-29 03:00:12 -0500 | |
| commit | 6bb84fe005fc151df1a67259242da9c0eaf3fe93 (patch) | |
| tree | 683d6e160bf48fd0c235635be874a8fef697402c /fire-pit/test.h | |
| parent | add new tests (diff) | |
begin work on pc side
Diffstat (limited to 'fire-pit/test.h')
| -rw-r--r-- | fire-pit/test.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/fire-pit/test.h b/fire-pit/test.h deleted file mode 100644 index c907530..0000000 --- a/fire-pit/test.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef EXITEST_TEST_H_INCLUDED -#define EXITEST_TEST_H_INCLUDED - -#include <gccore.h> - -struct et_test; - -typedef u32 et_status; - -/* Test passed. */ -#define ET_STATUS_PASS (et_status)0x00 - -/* Test failed. */ -#define ET_STATUS_FAIL (et_status)0x01 - -/* Test skipped or not applicable. */ -#define ET_STATUS_SKIP (et_status)0x02 - -/* Internal error during testing. */ -#define ET_STATUS_ERROR (et_status)0x03 - -#define ET_STATUS_MASK (et_status)0x03 - -#define ET_STATUS_GET_BASE(_status) ((et_status)(_status) & ~((1u << ET_STATUS_ERRCODE_SHIFT) - 1)) - -#define ET_STATUS_ERRCODE_SHIFT 2u -#define ET_STATUS_ERRCODE_MASK (((1u << ET_STATUS_PRIVATE_SHIFT) - 1) & ~ET_STATUS_MASK) -#define ET_STATUS_MAKE_ERRCODE(_code) (((et_status)(_code) << ET_STATUS_ERRCODE_SHIFT) & ET_STATUS_ERRCODE_MASK) -#define ET_STATUS_GET_ERRCODE(_status) (((et_status)(_status) & ET_STATUS_ERRCODE_MASK) >> ET_STATUS_ERRCODE_SHIFT) - -#define ET_STATUS_PRIVATE_SHIFT 8u -#define ET_STATUS_GET_PRIVATE(_status) ((et_status)(_status) >> ET_STATUS_PRIVATE_SHIFT) -#define ET_STATUS_MAKE_PRIVATE(_exp) ((et_status)(_exp) << ET_STATUS_PRIVATE_SHIFT) -#define ET_STATUS_PRIVATE_MASK (ET_STATUS_MAKE_PRIVATE(~0u)) - -typedef enum { - ET_TEST_INTERACTIVE = 0x0001u, - ET_TEST_ESSENTIAL = 0x0002u -} et_test_flags; - -typedef enum { - ET_ERRCODE_NONE = ET_STATUS_MAKE_ERRCODE(0), - ET_ERRCODE_BAD_ALLOC = ET_STATUS_MAKE_ERRCODE(0x01u), - - /* Error code is test-specific */ - ET_ERRCODE_PRIVATE = ET_STATUS_MAKE_ERRCODE(~0u), -} et_status_errcode; - -/* returns 1 to continue testing, 0 when test is complete (call finish for status) */ -typedef int (et_test_setup_proc)(struct et_test *test, void *work, int exi_channel); -typedef int (et_test_tick_proc)(struct et_test *test, void *work); -typedef et_status (et_test_finish_proc)(struct et_test *test, void *work); - -/* translates a status code into a readable message. The returned pointer is a static string, and may not have all the information - * as if a writeable buffer is passed into the function. - * - * Tests: do not write into out if outbuf_sz is too small. Try to keep the max message length within 256 bytes. */ -typedef const char *(et_test_translate_proc)(struct et_test *test, char *out, size_t outbuf_sz, et_status status); - -struct et_test { - et_test_flags flags; - const char *name; - size_t work_size; - - et_test_setup_proc *setup_f; - et_test_tick_proc *tick_f; - et_test_finish_proc *finish_f; - et_test_translate_proc *trans_f; - - const void *priv_data[4]; -}; - -/* Array of tests. */ -extern const struct et_test et_tests[]; -extern const size_t et_ntests; - -#endif /* include guard */ |
