string_kunit: Add test cases for str*cmp functions
authorIvan Orlov <ivan.orlov0322@gmail.com>
Wed, 17 Apr 2024 23:30:33 +0000 (00:30 +0100)
committerKees Cook <keescook@chromium.org>
Thu, 18 Apr 2024 17:14:19 +0000 (10:14 -0700)
commit9259a4721699947ceb397037991c0e4acc496b21
treebdf4e76b313a9a4957eaae6afa9b50683eb8cc91
parent39cd87c4eb2b893354f3b850f916353f2658ae6f
string_kunit: Add test cases for str*cmp functions

Currently, str*cmp functions (strcmp, strncmp, strcasecmp and
strncasecmp) are not covered with tests. Extend the `string_kunit.c`
test by adding the test cases for them.

This patch adds 8 more test cases:

1) strcmp test
2) strcmp test on long strings (2048 chars)
3) strncmp test
4) strncmp test on long strings (2048 chars)
5) strcasecmp test
6) strcasecmp test on long strings
7) strncasecmp test
8) strncasecmp test on long strings

These test cases aim at covering as many edge cases as possible,
including the tests on empty strings, situations when the different
symbol is placed at the end of one of the strings, etc.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20240417233033.717596-1-ivan.orlov0322@gmail.com
Signed-off-by: Kees Cook <keescook@chromium.org>
lib/string_kunit.c