diff --git a/src/t_misc.c b/src/t_misc.c index 31d82eaa289aa3364ad510e06bc7342bacb9ae28..92c2b326471d48a82fcae8f110d1febad58c6fe3 100644 --- a/src/t_misc.c +++ b/src/t_misc.c @@ -2,8 +2,6 @@ #include <string.h> #include "test_suite.h" #include "hammer.h" -#include "internal.h" -#include "glue.h" static void test_tt_user(void) { g_check_cmp_int32(TT_USER, >, TT_NONE); @@ -31,28 +29,7 @@ static void test_tt_registry(void) { g_check_cmp_int32(h_get_token_type_number("com.upstandinghackers.test.unkown_token_type"), ==, 0); } -static void test_seq_index_path(void) { - HArena *arena = h_new_arena(&system_allocator, 0); - - HParsedToken *seq = h_make_seqn(arena, 1); - HParsedToken *seq2 = h_make_seqn(arena, 2); - HParsedToken *tok1 = h_make_uint(arena, 41); - HParsedToken *tok2 = h_make_uint(arena, 42); - - seq->seq->elements[0] = seq2; - seq->seq->used = 1; - seq2->seq->elements[0] = tok1; - seq2->seq->elements[1] = tok2; - seq2->seq->used = 2; - - g_check_cmp_int(h_seq_index_path(seq, 0, -1)->token_type, ==, TT_SEQUENCE); - g_check_cmp_int(h_seq_index_path(seq, 0, 0, -1)->token_type, ==, TT_UINT); - g_check_cmp_int64(h_seq_index_path(seq, 0, 0, -1)->uint, ==, 41); - g_check_cmp_int64(h_seq_index_path(seq, 0, 1, -1)->uint, ==, 42); -} - void register_misc_tests(void) { g_test_add_func("/core/misc/tt_user", test_tt_user); g_test_add_func("/core/misc/tt_registry", test_tt_registry); - g_test_add_func("/core/misc/seq_index_path", test_seq_index_path); } diff --git a/src/t_regression.c b/src/t_regression.c index e74f16b98a7d037b19b6ece386721830720ab2c1..e342546c72ef2749dc7fba6aa3208bbf3b2d0e04 100644 --- a/src/t_regression.c +++ b/src/t_regression.c @@ -3,6 +3,7 @@ #include "glue.h" #include "hammer.h" #include "test_suite.h" +#include "internal.h" static void test_bug118(void) { // https://github.com/UpstandingHackers/hammer/issues/118 @@ -33,6 +34,27 @@ static void test_bug118(void) { h_parse_result_free(p); } +static void test_seq_index_path(void) { + HArena *arena = h_new_arena(&system_allocator, 0); + + HParsedToken *seq = h_make_seqn(arena, 1); + HParsedToken *seq2 = h_make_seqn(arena, 2); + HParsedToken *tok1 = h_make_uint(arena, 41); + HParsedToken *tok2 = h_make_uint(arena, 42); + + seq->seq->elements[0] = seq2; + seq->seq->used = 1; + seq2->seq->elements[0] = tok1; + seq2->seq->elements[1] = tok2; + seq2->seq->used = 2; + + g_check_cmp_int(h_seq_index_path(seq, 0, -1)->token_type, ==, TT_SEQUENCE); + g_check_cmp_int(h_seq_index_path(seq, 0, 0, -1)->token_type, ==, TT_UINT); + g_check_cmp_int64(h_seq_index_path(seq, 0, 0, -1)->uint, ==, 41); + g_check_cmp_int64(h_seq_index_path(seq, 0, 1, -1)->uint, ==, 42); +} + void register_regression_tests(void) { g_test_add_func("/core/regression/bug118", test_bug118); + g_test_add_func("/core/regression/seq_index_path", test_seq_index_path); }