public inbox for ~johnnyrichard/olang-devel@lists.sr.ht
 help / color / mirror / code / Atom feed
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


             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