Build on osx
This commit is contained in:
+5
-1
@@ -2,9 +2,13 @@ file(GLOB TEST_SOURCE_FILES test_*.c)
|
|||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
include_directories("/opt/homebrew/include")
|
include_directories("/opt/homebrew/include")
|
||||||
|
link_directories("/opt/homebrew/lib")
|
||||||
|
list(REMOVE_ITEM TEST_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/test_ringbuf.c)
|
||||||
|
else()
|
||||||
|
target_link_libraries(rt)
|
||||||
endif()
|
endif()
|
||||||
add_executable(test_runner ${TEST_SOURCE_FILES})
|
add_executable(test_runner ${TEST_SOURCE_FILES})
|
||||||
target_link_libraries(test_runner check ucore rt)
|
target_link_libraries(test_runner check ucore)
|
||||||
|
|
||||||
add_custom_target(runtest COMMAND test_runner
|
add_custom_target(runtest COMMAND test_runner
|
||||||
DEPENDS test_runner
|
DEPENDS test_runner
|
||||||
|
|||||||
Executable
BIN
Binary file not shown.
@@ -66,7 +66,9 @@ static suite_func suites[] = {
|
|||||||
iomux_suite,
|
iomux_suite,
|
||||||
iomux_signal_suite,
|
iomux_signal_suite,
|
||||||
string_suite,
|
string_suite,
|
||||||
|
#ifndef __APPLE__
|
||||||
ringbuf_suite
|
ringbuf_suite
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+43
-42
@@ -7,91 +7,92 @@
|
|||||||
|
|
||||||
|
|
||||||
START_TEST (test_getfields)
|
START_TEST (test_getfields)
|
||||||
|
{
|
||||||
char str[] = "a;b;c";
|
char str[] = "a;b;c";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 5, 0, ";");
|
int rc = uc_getfields(str, letters, 5, 0, ";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
|
|
||||||
|
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_consecutive)
|
START_TEST (test_getfields_consecutive)
|
||||||
|
{
|
||||||
char str[] = "a;;b;c;;;";
|
char str[] = "a;;b;c;;;";
|
||||||
char *letters[7] = {NULL};
|
char *letters[7] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 5, 0, ";");
|
int rc = uc_getfields(str, letters, 5, 0, ";");
|
||||||
ck_assert_int_eq(rc, 5);
|
ck_assert_int_eq(rc, 5);
|
||||||
|
|
||||||
|
|
||||||
// This result is rather silly, but it's
|
// This result is rather silly, but it's
|
||||||
// how getfields works with mflag=0
|
// how getfields works with mflag=0
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("", letters[1]);
|
ck_assert_str_eq("", letters[1]);
|
||||||
ck_assert_str_eq("b", letters[2]);
|
ck_assert_str_eq("b", letters[2]);
|
||||||
ck_assert_str_eq("c", letters[3]);
|
ck_assert_str_eq("c", letters[3]);
|
||||||
ck_assert_str_eq(";;", letters[4]);
|
ck_assert_str_eq(";;", letters[4]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_mflag)
|
START_TEST (test_getfields_mflag)
|
||||||
|
{
|
||||||
char str[] = "a;b;c";
|
char str[] = "a;b;c";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 5, 1, ";");
|
int rc = uc_getfields(str, letters, 5, 1, ";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
|
|
||||||
|
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_consecutive_mflag)
|
START_TEST (test_getfields_consecutive_mflag)
|
||||||
|
{
|
||||||
char str[] = "a;;b;c;;;";
|
char str[] = "a;;b;c;;;";
|
||||||
char *letters[7] = {NULL};
|
char *letters[7] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 7, 1, ";");
|
int rc = uc_getfields(str, letters, 7, 1, ";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
|
|
||||||
|
|
||||||
// This result is rather silly, but it's
|
// This result is rather silly, but it's
|
||||||
// how getfields works with mflag=0
|
// how getfields works with mflag=0
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_too_many)
|
START_TEST (test_getfields_too_many)
|
||||||
|
{
|
||||||
char str[] = "a\r\nb\r\nc\r\nd\r\ne";
|
char str[] = "a\r\nb\r\nc\r\nd\r\ne";
|
||||||
char *letters[4] = {NULL};
|
char *letters[4] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 4, 0, "\r\n");
|
int rc = uc_getfields(str, letters, 4, 0, "\r\n");
|
||||||
ck_assert_int_eq(rc, 4);
|
ck_assert_int_eq(rc, 4);
|
||||||
|
|
||||||
// This result is rather silly, but it's
|
// This result is rather silly, but it's
|
||||||
// how getfields works with mflag=0
|
// how getfields works with mflag=0
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("", letters[1]);
|
ck_assert_str_eq("", letters[1]);
|
||||||
ck_assert_str_eq("b", letters[2]);
|
ck_assert_str_eq("b", letters[2]);
|
||||||
ck_assert_str_eq("\nc\r\nd\r\ne", letters[3]);
|
ck_assert_str_eq("\nc\r\nd\r\ne", letters[3]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_too_many_mflag)
|
START_TEST (test_getfields_too_many_mflag)
|
||||||
|
{
|
||||||
char str[] = "a\r\nb\r\nc\r\nd\r\ne";
|
char str[] = "a\r\nb\r\nc\r\nd\r\ne";
|
||||||
char *letters[4] = {NULL};
|
char *letters[4] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 4, 1, "\r\n");
|
int rc = uc_getfields(str, letters, 4, 1, "\r\n");
|
||||||
ck_assert_int_eq(rc, 4);
|
ck_assert_int_eq(rc, 4);
|
||||||
@@ -100,13 +101,13 @@ START_TEST (test_getfields_too_many_mflag)
|
|||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
ck_assert_str_eq("d\r\ne", letters[3]);
|
ck_assert_str_eq("d\r\ne", letters[3]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_getfields_empty)
|
START_TEST (test_getfields_empty)
|
||||||
|
{
|
||||||
char str[] = "";
|
char str[] = "";
|
||||||
char *letters[4] = {NULL};
|
char *letters[4] = {NULL};
|
||||||
|
|
||||||
int rc = uc_getfields(str, letters, 4, 0, ";\r\n");
|
int rc = uc_getfields(str, letters, 4, 0, ";\r\n");
|
||||||
ck_assert_int_eq(rc, 1);
|
ck_assert_int_eq(rc, 1);
|
||||||
@@ -115,53 +116,53 @@ START_TEST (test_getfields_empty)
|
|||||||
rc = uc_getfields(str, letters, 4, 1, ";\r\n");
|
rc = uc_getfields(str, letters, 4, 1, ";\r\n");
|
||||||
ck_assert_int_eq(rc, 0);
|
ck_assert_int_eq(rc, 0);
|
||||||
|
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_gettokens)
|
START_TEST (test_gettokens)
|
||||||
|
{
|
||||||
char str[] = "a;b;c";
|
char str[] = "a;b;c";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_gettokens(str, letters, 5,";");
|
int rc = uc_gettokens(str, letters, 5,";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
|
|
||||||
|
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_gettokens_consecutive)
|
START_TEST (test_gettokens_consecutive)
|
||||||
|
{
|
||||||
char str[] = "a;;;b;;c;";
|
char str[] = "a;;;b;;c;";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_gettokens(str, letters, 5,";");
|
int rc = uc_gettokens(str, letters, 5,";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
|
|
||||||
|
|
||||||
ck_assert_str_eq("a", letters[0]);
|
ck_assert_str_eq("a", letters[0]);
|
||||||
ck_assert_str_eq("b", letters[1]);
|
ck_assert_str_eq("b", letters[1]);
|
||||||
ck_assert_str_eq("c", letters[2]);
|
ck_assert_str_eq("c", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_gettokens_empty)
|
START_TEST (test_gettokens_empty)
|
||||||
|
{
|
||||||
char str[] = "";
|
char str[] = "";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_gettokens(str, letters, 5,";");
|
int rc = uc_gettokens(str, letters, 5,";");
|
||||||
ck_assert_int_eq(rc, 0);
|
ck_assert_int_eq(rc, 0);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_gettokens_quotes)
|
START_TEST (test_gettokens_quotes)
|
||||||
|
{
|
||||||
char str[] = "\"abc\";d;\"e \"";
|
char str[] = "\"abc\";d;\"e \"";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_gettokens(str, letters, 5,";");
|
int rc = uc_gettokens(str, letters, 5,";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
@@ -169,13 +170,13 @@ START_TEST (test_gettokens_quotes)
|
|||||||
ck_assert_str_eq("abc", letters[0]);
|
ck_assert_str_eq("abc", letters[0]);
|
||||||
ck_assert_str_eq("d", letters[1]);
|
ck_assert_str_eq("d", letters[1]);
|
||||||
ck_assert_str_eq("e ", letters[2]);
|
ck_assert_str_eq("e ", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_gettokens_double_quotes)
|
START_TEST (test_gettokens_double_quotes)
|
||||||
|
{
|
||||||
char str[] = "\"\"abc\"\";d;\"e\"\"f\"\"\"";
|
char str[] = "\"\"abc\"\";d;\"e\"\"f\"\"\"";
|
||||||
char *letters[5] = {NULL};
|
char *letters[5] = {NULL};
|
||||||
|
|
||||||
int rc = uc_gettokens(str, letters, 5,";");
|
int rc = uc_gettokens(str, letters, 5,";");
|
||||||
ck_assert_int_eq(rc, 3);
|
ck_assert_int_eq(rc, 3);
|
||||||
@@ -183,7 +184,7 @@ START_TEST (test_gettokens_double_quotes)
|
|||||||
ck_assert_str_eq("abc", letters[0]);
|
ck_assert_str_eq("abc", letters[0]);
|
||||||
ck_assert_str_eq("d", letters[1]);
|
ck_assert_str_eq("d", letters[1]);
|
||||||
ck_assert_str_eq("e\"f\"", letters[2]);
|
ck_assert_str_eq("e\"f\"", letters[2]);
|
||||||
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
Suite *string_suite(void)
|
Suite *string_suite(void)
|
||||||
|
|||||||
+2
-2
@@ -136,6 +136,7 @@ START_TEST (test_strv_append_all_nocopy)
|
|||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
START_TEST (test_strv_reverse)
|
START_TEST (test_strv_reverse)
|
||||||
|
{
|
||||||
struct UCStrv strv;
|
struct UCStrv strv;
|
||||||
|
|
||||||
uc_strv_init(&strv);
|
uc_strv_init(&strv);
|
||||||
@@ -170,8 +171,7 @@ START_TEST (test_strv_reverse)
|
|||||||
ck_assert_str_eq("string1", strv.strings[2]);
|
ck_assert_str_eq("string1", strv.strings[2]);
|
||||||
|
|
||||||
uc_strv_destroy(&strv);
|
uc_strv_destroy(&strv);
|
||||||
|
}
|
||||||
|
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
Suite *strv_suite(void)
|
Suite *strv_suite(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user