From 000016361d16980001d21864d57c3baeda977f2d Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 2 May 2026 10:08:05 +0200 Subject: [PATCH] change tests with teardown --- tests/rename_tests.c | 250 +++++++++++++++++-------------------------- 1 file changed, 96 insertions(+), 154 deletions(-) diff --git a/tests/rename_tests.c b/tests/rename_tests.c index 690f77b..611cbb5 100644 --- a/tests/rename_tests.c +++ b/tests/rename_tests.c @@ -7,295 +7,237 @@ #include #include "../src/rename.h" -void strdup_test() +int teardown(void** result) { - const char* str = "Der String"; + free(*result); + *result = NULL; - char* out = strdup(str); + return 0; +} - assert_string_equal(out, "Der String"); +void strdup_test(void** result) +{ + const char* str = "Der String"; - free(out); - out = NULL; + *result = strdup(str); + + assert_string_equal(*result, "Der String"); } -void rename_spaces_test() +void rename_spaces_test(void** result) { char* input = strdup("Dies ist ein Test Satz"); - char* output = rename_string(&input); - - assert_string_equal(output, "Dies_ist_ein_Test_Satz"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Dies_ist_ein_Test_Satz"); } -void rename_ae_test() +void rename_ae_test(void** result) { char* input = strdup("wäre"); - char* output = rename_string(&input); - - assert_string_equal(output, "waere"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "waere"); } -void rename_Ae_test() +void rename_Ae_test(void** result) { char* input = strdup("Ächtzen"); - char* output = rename_string(&input); + *result = rename_string(&input); - assert_string_equal(output, "Aechtzen"); - - free(output); - output = NULL; + assert_string_equal(*result, "Aechtzen"); } -void rename_oe_test() +void rename_oe_test(void** result) { char* input = strdup("König"); - char* output = rename_string(&input); - - assert_string_equal(output, "Koenig"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Koenig"); } -void rename_Oe_test() +void rename_Oe_test(void** result) { char* input = strdup("Ökosystem"); - char* output = rename_string(&input); - - assert_string_equal(output, "Oekosystem"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Oekosystem"); } -void rename_ue_test() +void rename_ue_test(void** result) { char* input = strdup("brüllt"); - char* output = rename_string(&input); + *result = rename_string(&input); - assert_string_equal(output, "bruellt"); - - free(output); - output = NULL; + assert_string_equal(*result, "bruellt"); } -void rename_Ue_test() +void rename_Ue_test(void** result) { char* input = strdup("Überlastung"); - char* output = rename_string(&input); - - assert_string_equal(output, "Ueberlastung"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Ueberlastung"); } -void rename_scharfes_s_test() +void rename_scharfes_s_test(void** result) { char* input = strdup("Gruß"); - char* output = rename_string(&input); - - assert_string_equal(output, "Gruss"); + *result = rename_string(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Gruss"); } -void none_replace_wide_char_test() +void none_replace_wide_char_test(void** result) { char* none_replace = strdup("ō"); - char* output = rename_string(&none_replace); + *result = rename_string(&none_replace); - assert_string_equal(output, "ō"); - - free(output); - output = NULL; + assert_string_equal(*result, "ō"); } -void rename_lower_case_test() +void rename_lower_case_test(void** result) { char* input = strdup("Gruß Gott, hat der Biergarten offen?"); - char* output = rename_lower(&input); - - assert_string_equal(output, "gruss_gott,_hat_der_biergarten_offen?"); + *result = rename_lower(&input); - free(output); - output = NULL; + assert_string_equal(*result, "gruss_gott,_hat_der_biergarten_offen?"); } -void rename_point_case_test() +void rename_point_case_test(void** result) { char* input = strdup("Dies ist die Geschichte von..........."); - char* output = rename_point(&input); + *result = rename_point(&input); - assert_string_equal(output, "Dies_ist_die_Geschichte_von"); - - free(output); - output = NULL; + assert_string_equal(*result, "Dies_ist_die_Geschichte_von"); } -void escape_test() +void escape_test(void** result) { char* input = strdup("Dies ist [die] (Geschichte) {von}"); - char* output = escape(&input); - - assert_string_equal(output, "Dies\\ ist\\ \\[die\\]\\ \\(Geschichte\\)\\ \\{von\\}"); + *result = escape(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Dies\\ ist\\ \\[die\\]\\ \\(Geschichte\\)\\ \\{von\\}"); } -void rename_revert_spaces_test() +void rename_revert_spaces_test(void** result) { char* input = strdup("Dies_ist_ein_Test_Satz"); - char* output = rename_revert(&input); + *result = rename_revert(&input); - assert_string_equal(output, "Dies ist ein Test Satz"); - - free(output); - output = NULL; + assert_string_equal(*result, "Dies ist ein Test Satz"); } -void rename_revert_ae_test() +void rename_revert_ae_test(void** result) { char* input = strdup("waere"); - char* output = rename_revert(&input); - - assert_string_equal(output, "wäre"); + *result = rename_revert(&input); - free(output); - output = NULL; + assert_string_equal(*result, "wäre"); } -void rename_revert_Ae_test() +void rename_revert_Ae_test(void** result) { char* input = strdup("Aechtzen"); - char* output = rename_revert(&input); - - assert_string_equal(output, "Ächtzen"); + *result = rename_revert(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Ächtzen"); } -void rename_revert_oe_test() +void rename_revert_oe_test(void** result) { char* input = strdup("Koenig"); - char* output = rename_revert(&input); + *result = rename_revert(&input); - assert_string_equal(output, "König"); - - free(output); - output = NULL; + assert_string_equal(*result, "König"); } -void rename_revert_Oe_test() +void rename_revert_Oe_test(void** result) { char* input = strdup("Oekosystem"); - char* output = rename_revert(&input); - - assert_string_equal(output, "Ökosystem"); + *result = rename_revert(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Ökosystem"); } -void rename_revert_ue_test() +void rename_revert_ue_test(void** result) { char* input = strdup("bruellt"); - char* output = rename_revert(&input); - - assert_string_equal(output, "brüllt"); + *result = rename_revert(&input); - free(output); - output = NULL; + assert_string_equal(*result, "brüllt"); } -void rename_revert_Ue_test() +void rename_revert_Ue_test(void** result) { char* input = strdup("Ueberlastung"); - char* output = rename_revert(&input); + *result = rename_revert(&input); - assert_string_equal(output, "Überlastung"); - - free(output); - output = NULL; + assert_string_equal(*result, "Überlastung"); } -void rename_revert_ss_test() +void rename_revert_ss_test(void** result) { char* input = strdup("Gruss"); - char* output = rename_revert(&input); - - assert_string_equal(output, "Gruß"); + *result = rename_revert(&input); - free(output); - output = NULL; + assert_string_equal(*result, "Gruß"); } -void replace_string_test() +void replace_string_test(void** result) { char* input = strdup("Hello Max!"); - char* output = replace(&input, "Max", "World"); - - assert_string_equal(output, "Hello World!"); + *result = replace(&input, "Max", "World"); - free(output); - output = NULL; + assert_string_equal(*result, "Hello World!"); } int main() { const struct CMUnitTest tests[] = { - cmocka_unit_test(strdup_test), - cmocka_unit_test(rename_spaces_test), - cmocka_unit_test(rename_ae_test), - cmocka_unit_test(rename_Ae_test), - cmocka_unit_test(rename_oe_test), - cmocka_unit_test(rename_Oe_test), - cmocka_unit_test(rename_ue_test), - cmocka_unit_test(rename_Ue_test), - cmocka_unit_test(rename_scharfes_s_test), - cmocka_unit_test(none_replace_wide_char_test), - cmocka_unit_test(rename_lower_case_test), - cmocka_unit_test(rename_point_case_test), - cmocka_unit_test(escape_test), - cmocka_unit_test(rename_revert_spaces_test), - cmocka_unit_test(rename_revert_ae_test), - cmocka_unit_test(rename_revert_Ae_test), - cmocka_unit_test(rename_revert_oe_test), - cmocka_unit_test(rename_revert_Oe_test), - cmocka_unit_test(rename_revert_ue_test), - cmocka_unit_test(rename_revert_Ue_test), - cmocka_unit_test(rename_revert_ss_test), - cmocka_unit_test(replace_string_test) + cmocka_unit_test_teardown(strdup_test, teardown), + cmocka_unit_test_teardown(rename_spaces_test, teardown), + cmocka_unit_test_teardown(rename_ae_test, teardown), + cmocka_unit_test_teardown(rename_Ae_test, teardown), + cmocka_unit_test_teardown(rename_oe_test, teardown), + cmocka_unit_test_teardown(rename_Oe_test, teardown), + cmocka_unit_test_teardown(rename_ue_test, teardown), + cmocka_unit_test_teardown(rename_Ue_test, teardown), + cmocka_unit_test_teardown(rename_scharfes_s_test, teardown), + cmocka_unit_test_teardown(none_replace_wide_char_test, teardown), + cmocka_unit_test_teardown(rename_lower_case_test, teardown), + cmocka_unit_test_teardown(rename_point_case_test, teardown), + cmocka_unit_test_teardown(escape_test, teardown), + cmocka_unit_test_teardown(rename_revert_spaces_test, teardown), + cmocka_unit_test_teardown(rename_revert_ae_test, teardown), + cmocka_unit_test_teardown(rename_revert_Ae_test, teardown), + cmocka_unit_test_teardown(rename_revert_oe_test, teardown), + cmocka_unit_test_teardown(rename_revert_Oe_test, teardown), + cmocka_unit_test_teardown(rename_revert_ue_test, teardown), + cmocka_unit_test_teardown(rename_revert_Ue_test, teardown), + cmocka_unit_test_teardown(rename_revert_ss_test, teardown), + cmocka_unit_test_teardown(replace_string_test, teardown) }; return cmocka_run_group_tests(tests, NULL, NULL); -- 2.47.3