diff options
| author | Mistivia <i@mistivia.com> | 2025-03-25 13:07:21 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-03-25 13:07:21 +0800 |
| commit | fb7664e087cb1afb64aae2128365f703beb30b57 (patch) | |
| tree | 6d4e2a4cc695052e489ec9e3fd28538a79a08f4c /tests/test_as_parser.c | |
| parent | dc87ff4b0c9f311be7fad652594e3766a4ddb0c6 (diff) | |
add result style error handling
Diffstat (limited to 'tests/test_as_parser.c')
| -rw-r--r-- | tests/test_as_parser.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/test_as_parser.c b/tests/test_as_parser.c index 01ba413..096031f 100644 --- a/tests/test_as_parser.c +++ b/tests/test_as_parser.c @@ -14,12 +14,18 @@ char *input_buffer = "end: eq\n"; int main(int argc, char** argv) { + struct result result; printf("[TEST] assembler parser\n"); // make a memory buffer to FILE* FILE *fp = fmemopen(input_buffer, strlen(input_buffer), "r"); struct allocator * alct = new_allocator(); struct token_stream * ts = new_token_stream(alct, fp); - struct prog * prog = parse_prog(alct, ts); + result = parse_prog(alct, ts); + if (result.errmsg != NULL) { + printf("error: %s\n", result.errmsg); + } + assert(result.errmsg == NULL); + struct prog* prog = result.value; // compare output struct stmt * * stmts = prog->stmts->stmts; |
