From: Johnny Richard <johnny@johnnyrichard.com>
To: ~johnnyrichard/olang-devel@lists.sr.ht
Cc: Johnny Richard <johnny@johnnyrichard.com>
Subject: [PATCH olang v1] chore: parser: remove old unit test for parsing
Date: Sun, 6 Oct 2024 15:44:26 +0200 [thread overview]
Message-ID: <20241006134454.77167-1-johnny@johnnyrichard.com> (raw)
We have introduced a new way of testing the ast output from the parser,
this test does not longer add value to the test suite.
Signed-off-by: Johnny Richard <johnny@johnnyrichard.com>
---
tests/unit/parser_test.c | 97 ----------------------------------------
1 file changed, 97 deletions(-)
delete mode 100644 tests/unit/parser_test.c
diff --git a/tests/unit/parser_test.c b/tests/unit/parser_test.c
deleted file mode 100644
index c834261..0000000
--- a/tests/unit/parser_test.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2024 olang maintainers
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-#define MUNIT_ENABLE_ASSERT_ALIASES
-
-#include "arena.h"
-#include "ast.h"
-#include "lexer.h"
-#include "list.h"
-#include "munit.h"
-#include "parser.h"
-#include "string_view.h"
-
-#define ARENA_CAPACITY (1024 * 1024)
-
-static MunitResult
-parse_translation_unit_test(const MunitParameter params[], void *user_data_or_fixture)
-{
- arena_t arena = arena_new(ARENA_CAPACITY);
-
- char *filepath = "main.0";
- char *source_value = "fn main(): u32 {\n\treturn 69\n}";
-
- lexer_t lexer;
- string_view_t code = { .chars = source_value, .size = strlen(source_value) };
- lexer_init(&lexer, (source_code_t){ .code = code, .filepath = filepath });
-
- parser_t parser;
- parser_init(&parser, &lexer, &arena);
-
- ast_node_t *translation_unit_node = parser_parse_translation_unit(&parser);
- assert_not_null(translation_unit_node);
- assert_uint(translation_unit_node->kind, ==, AST_NODE_TRANSLATION_UNIT);
-
- ast_translation_unit_t translation_unit = translation_unit_node->as_translation_unit;
-
- assert_uint(list_size(translation_unit.decls), ==, 1);
-
- ast_node_t *fn_node = (ast_node_t *)list_head(translation_unit.decls)->value;
-
- assert_not_null(fn_node);
- assert_uint(fn_node->kind, ==, AST_NODE_FN_DEF);
-
- ast_fn_definition_t fn = fn_node->as_fn_def;
- assert_memory_equal(fn.id.size, fn.id.chars, "main");
- assert_memory_equal(fn.return_type.size, fn.return_type.chars, "u32");
-
- ast_node_t *block = fn.block;
- assert_not_null(block);
-
- assert_uint(block->kind, ==, AST_NODE_BLOCK);
- assert_uint(list_size(block->as_block.nodes), ==, 1);
- list_item_t *block_item = list_get(block->as_block.nodes, 0);
- assert_not_null(block_item);
- assert_not_null(block_item->value);
-
- ast_node_t *node = (ast_node_t *)block_item->value;
- assert_not_null(node);
- assert_uint(node->kind, ==, AST_NODE_RETURN_STMT);
-
- ast_node_t *number_node = node->as_return_stmt.expr;
- assert_not_null(number_node);
- assert_uint(number_node->kind, ==, AST_NODE_LITERAL);
- assert_uint(number_node->as_literal.kind, ==, AST_LITERAL_U32);
- assert_uint(number_node->as_literal.as_u32, ==, 69);
-
- arena_free(&arena);
-
- return MUNIT_OK;
-}
-
-static MunitTest tests[] = {
- { "/parse_translation_unit", parse_translation_unit_test, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL },
- { NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
-};
-
-static const MunitSuite suite = { "/parser", tests, NULL, 1, MUNIT_SUITE_OPTION_NONE };
-
-int
-main(int argc, char *argv[])
-{
- return munit_suite_main(&suite, NULL, argc, argv);
- return EXIT_SUCCESS;
-}
base-commit: c4f7fa1e4ccd7c9d9e2d9f835feefdbd9c312c2c
--
2.46.0
next reply other threads:[~2024-10-06 11:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-06 13:44 Johnny Richard [this message]
2024-10-06 11:45 ` [olang/patches/.build.yml] build success builds.sr.ht
2024-10-07 13:45 ` [PATCH olang v1] chore: parser: remove old unit test for parsing Carlos Maniero
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241006134454.77167-1-johnny@johnnyrichard.com \
--to=johnny@johnnyrichard.com \
--cc=~johnnyrichard/olang-devel@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.johnnyrichard.com/olang.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox