Skip to content

Commit

Permalink
Merge branch 'gt/unit-test-strcmp-offset' into seen
Browse files Browse the repository at this point in the history
* gt/unit-test-strcmp-offset:
  t/: port helper/test-strcmp-offset.c to unit-tests/t-strcmp-offset.c
  • Loading branch information
gitster committed May 20, 2024
2 parents 0234c57 + 4d00d94 commit d5486fd
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 48 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,6 @@ TEST_BUILTINS_OBJS += test-sha1.o
TEST_BUILTINS_OBJS += test-sha256.o
TEST_BUILTINS_OBJS += test-sigchain.o
TEST_BUILTINS_OBJS += test-simple-ipc.o
TEST_BUILTINS_OBJS += test-strcmp-offset.o
TEST_BUILTINS_OBJS += test-string-list.o
TEST_BUILTINS_OBJS += test-submodule-config.o
TEST_BUILTINS_OBJS += test-submodule-nested-repo-config.o
Expand Down Expand Up @@ -1339,6 +1338,7 @@ UNIT_TEST_PROGRAMS += t-ctype
UNIT_TEST_PROGRAMS += t-mem-pool
UNIT_TEST_PROGRAMS += t-prio-queue
UNIT_TEST_PROGRAMS += t-strbuf
UNIT_TEST_PROGRAMS += t-strcmp-offset
UNIT_TEST_PROGRAMS += t-trailer
UNIT_TEST_PROGS = $(patsubst %,$(UNIT_TEST_BIN)/%$X,$(UNIT_TEST_PROGRAMS))
UNIT_TEST_OBJS = $(patsubst %,$(UNIT_TEST_DIR)/%.o,$(UNIT_TEST_PROGRAMS))
Expand Down
23 changes: 0 additions & 23 deletions t/helper/test-strcmp-offset.c

This file was deleted.

1 change: 0 additions & 1 deletion t/helper/test-tool.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ static struct test_cmd cmds[] = {
{ "sha256", cmd__sha256 },
{ "sigchain", cmd__sigchain },
{ "simple-ipc", cmd__simple_ipc },
{ "strcmp-offset", cmd__strcmp_offset },
{ "string-list", cmd__string_list },
{ "submodule", cmd__submodule },
{ "submodule-config", cmd__submodule_config },
Expand Down
1 change: 0 additions & 1 deletion t/helper/test-tool.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ int cmd__oid_array(int argc, const char **argv);
int cmd__sha256(int argc, const char **argv);
int cmd__sigchain(int argc, const char **argv);
int cmd__simple_ipc(int argc, const char **argv);
int cmd__strcmp_offset(int argc, const char **argv);
int cmd__string_list(int argc, const char **argv);
int cmd__submodule(int argc, const char **argv);
int cmd__submodule_config(int argc, const char **argv);
Expand Down
22 changes: 0 additions & 22 deletions t/t0065-strcmp-offset.sh

This file was deleted.

35 changes: 35 additions & 0 deletions t/unit-tests/t-strcmp-offset.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#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)
{
size_t offset;
int 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();
}

0 comments on commit d5486fd

Please sign in to comment.