-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Port helper/test-strcmp-offset.c to unit-tests/t-strcmp-offset.c
In the recent codebase update (8bf6fbd (Merge branch 'js/doc-unit-tests', 2023-12-09)), a new unit testing framework was merged, providing a standardized approach for testing C code. Prior to this update, some unit tests relied on the test helper mechanism, lacking a dedicated unit testing framework. It's more natural to perform these unit tests using the new unit test framework. This commit migrates the unit tests for strcmp-offset functionality from the legacy approach using the test-tool command `test-tool strcmp-offset`and in helper/test-strcmp-offset.c to the new unit testing framework (t/unit-tests/test-lib.h). The migration involves refactoring the tests to utilize the testing macros provided by the framework (TEST() and check_*()). Mentored-by: Christian Couder <[email protected]> Signed-off-by: Achu Luma <[email protected]>
- Loading branch information
Showing
5 changed files
with
32 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#include "test-lib.h" | ||
#include "read-cache-ll.h" | ||
|
||
static void check_strcmp_offset(const char *string1, const char *string2, int expect_result, uintmax_t expect_offset) | ||
{ | ||
int result; | ||
size_t offset; | ||
|
||
result = strcmp_offset(string1, string2, &offset); | ||
|
||
/* Because different CRTs behave differently, only rely on signs of the result values. */ | ||
result = (result < 0 ? -1 : | ||
result > 0 ? 1 : | ||
0); | ||
|
||
check_int(result, ==, expect_result); | ||
check_uint((uintmax_t)offset, ==, expect_offset); | ||
} | ||
|
||
#define TEST_STRCMP_OFFSET(string1, string2, expect_result, expect_offset) \ | ||
TEST(check_strcmp_offset(string1, string2, expect_result, expect_offset), \ | ||
"strcmp_offset (%s, %s) works", #string1, #string2) | ||
|
||
int cmd_main(int argc, const char **argv) { | ||
TEST_STRCMP_OFFSET("abc", "abc", 0, 3); | ||
TEST_STRCMP_OFFSET("abc", "def", -1, 0); | ||
TEST_STRCMP_OFFSET("abc", "abz", -1, 2); | ||
TEST_STRCMP_OFFSET("abc", "abcdef", -1, 3); | ||
|
||
return test_done(); | ||
} |