Skip to content

Commit

Permalink
Replace character_class_debug with proper unit test
Browse files Browse the repository at this point in the history
Change-Id: Ib2aa85b9c34d0a0b8b1dfb9f477f56c9a6b705d0
Signed-off-by: Arne Schwabe <[email protected]>
Acked-by: Frank Lichtenheld <[email protected]>
Message-Id: <[email protected]>
URL: https://www.mail-archive.com/[email protected]/msg27628.html
Signed-off-by: Gert Doering <[email protected]>
  • Loading branch information
schwabe authored and cron2 committed Dec 2, 2023
1 parent 5ce74ca commit 0a27c98
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 32 deletions.
20 changes: 0 additions & 20 deletions src/openvpn/buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1150,26 +1150,6 @@ string_replace_leading(char *str, const char match, const char replace)
}
}

#ifdef CHARACTER_CLASS_DEBUG

#define CC_INCLUDE (CC_PRINT)
#define CC_EXCLUDE (0)
#define CC_REPLACE ('.')

void
character_class_debug(void)
{
char buf[256];

while (fgets(buf, sizeof(buf), stdin) != NULL)
{
string_mod(buf, CC_INCLUDE, CC_EXCLUDE, CC_REPLACE);
printf("%s", buf);
}
}

#endif

#ifdef VERIFY_ALIGNMENT
void
valign4(const struct buffer *buf, const char *file, const int line)
Expand Down
7 changes: 0 additions & 7 deletions src/openvpn/buffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -896,8 +896,6 @@ int buf_substring_len(const struct buffer *buf, int delim);
*/
const char *np(const char *str);

/*#define CHARACTER_CLASS_DEBUG*/

/* character classes */

#define CC_ANY (1<<0)
Expand Down Expand Up @@ -961,11 +959,6 @@ strprefix(const char *str, const char *prefix)
}


#ifdef CHARACTER_CLASS_DEBUG
void character_class_debug(void);

#endif

/*
* Verify that a pointer is correctly aligned
*/
Expand Down
5 changes: 0 additions & 5 deletions src/openvpn/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -875,11 +875,6 @@ init_static(void)
return false;
#endif

#ifdef CHARACTER_CLASS_DEBUG
character_class_debug();
return false;
#endif

#ifdef TIME_TEST
time_test();
return false;
Expand Down
25 changes: 25 additions & 0 deletions tests/unit_tests/openvpn/test_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,30 @@ test_buffer_gc_realloc(void **state)
gc_free(&gc);
}

static void
test_character_class(void **state)
{
char buf[256];
strcpy(buf, "There is \x01 a nice 1234 year old tr\x7f ee!");
string_mod(buf, CC_PRINT, 0, '@');
assert_string_equal(buf, "There is @ a nice 1234 year old tr@ ee!");

strcpy(buf, "There is \x01 a nice 1234 year old tr\x7f ee!");
string_mod(buf, CC_PRINT, CC_DIGIT, '@');
assert_string_equal(buf, "There is @ a nice @@@@ year old tr@ ee!");

strcpy(buf, "There is \x01 a nice 1234 year old tr\x7f ee!");
string_mod(buf, CC_ALPHA, CC_DIGIT, '.');
assert_string_equal(buf, "There.is...a.nice......year.old.tr..ee.");

strcpy(buf, "There is \x01 a 'nice' \"1234\"\n year old \ntr\x7f ee!");
string_mod(buf, CC_ALPHA|CC_DIGIT|CC_NEWLINE|CC_SINGLE_QUOTE, CC_DOUBLE_QUOTE|CC_BLANK, '.');
assert_string_equal(buf, "There.is...a.'nice'..1234.\n.year.old.\ntr..ee.");

strcpy(buf, "There is a \\'nice\\' \"1234\" [*] year old \ntree!");
string_mod(buf, CC_PRINT, CC_BACKSLASH|CC_ASTERISK, '.');
assert_string_equal(buf, "There is a .'nice.' \"1234\" [.] year old .tree!");
}

int
main(void)
Expand Down Expand Up @@ -351,6 +375,7 @@ main(void)
cmocka_unit_test(test_buffer_free_gc_one),
cmocka_unit_test(test_buffer_free_gc_two),
cmocka_unit_test(test_buffer_gc_realloc),
cmocka_unit_test(test_character_class),
};

return cmocka_run_group_tests_name("buffer", tests, NULL, NULL);
Expand Down

0 comments on commit 0a27c98

Please sign in to comment.