Use runtime asserts instead of error returns in desugar.c

The error paths are not tested and are mostly for NULL allocations so
it makes more sense to use runtime asserts for now for simplicity's
sake.
This commit is contained in:
2024-10-27 02:07:59 +00:00
parent eb22abfb1b
commit 721d0a2b49
3 changed files with 38 additions and 70 deletions

View File

@@ -19,8 +19,7 @@ static void a_is_unchanged(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -47,8 +46,7 @@ static void abc_is_unchanged(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -77,8 +75,7 @@ static void a_star_is_unchanged(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -106,8 +103,7 @@ static void a_or_b_or_c_is_unchanged(void)
}
regex_t t = { .count = 3, .capacity = 3, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(3, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -143,8 +139,7 @@ static void subexpr_a_is_unchanged(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -177,8 +172,7 @@ static void a_plus_becomes_subexpr_aa_star(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -215,8 +209,7 @@ static void a_qmark_becomes_subexpr_empty_or_a(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);
@@ -260,8 +253,7 @@ static void class_abc_becomes_subexpr_a_or_b_or_c(void)
alternatives[0].contents = terms;
regex_t t = { .count = 1, .capacity = 1, .contents = alternatives };
const bool success = desugar_regex(&t);
ASSERT_TRUE(success);
desugar_regex(&t);
ASSERT_EQ(1, t.count);
ASSERT_NOT_NULL(t.contents);