X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Funit%2Ftest_relayd_backward_compat_group_by_session.cpp;h=11ba8b032ed5207cbc8f0d58812a1e68c282a27d;hb=cd9adb8b829564212158943a0d279bb35322ab30;hp=42cb0156a8246f2262e56679e12aeda36c7c4331;hpb=c9e313bc594f40a86eed237dce222c0fc99c957f;p=lttng-tools.git diff --git a/tests/unit/test_relayd_backward_compat_group_by_session.cpp b/tests/unit/test_relayd_backward_compat_group_by_session.cpp index 42cb0156a..11ba8b032 100644 --- a/tests/unit/test_relayd_backward_compat_group_by_session.cpp +++ b/tests/unit/test_relayd_backward_compat_group_by_session.cpp @@ -5,19 +5,20 @@ * */ +#include "backward-compatibility-group-by.hpp" + +#include + #include #include #include #include #include -#include - -#include "backward-compatibility-group-by.hpp" - /* Number of TAP tests in this file */ #define NUM_TESTS_PER_TEST 1 +namespace { struct test { const char *stream_path; const char *session_name; @@ -27,111 +28,155 @@ struct test { const char *leftover; bool is_valid; }; +} /* namespace */ int lttng_opt_quiet; int lttng_opt_mi; int lttng_opt_verbose; struct test tests[] = { - /* Default name session streaming. */ - {"hostname/auto-20190918-164429/ust/uid/1000/64-bit", - "auto-20190918-164429", "hostname", - "20190918-164429", "", "ust/uid/1000/64-bit", - true}, - /* Custom default name session */ - {"hostname/custom_auto-20190319-120000/ust/uid/1000/64-bit", - "custom_auto-20190319-120000", "hostname", - "20190319-120000", "", "ust/uid/1000/64-bit", - true}, - /* Named session streaming */ - {"hostname/test-20190918-164709/ust/uid/1000/64-bit", "test", - "hostname", "20190918-164709", "", - "ust/uid/1000/64-bit", true}, - /* Default session snapshot streaming */ - {"hostname//snapshot-1-20190918-164829-0/ust//uid/1000/64-bit", - "my_session", "hostname", "", "", - "snapshot-1-20190918-164829-0/ust//uid/1000/64-bit", - true}, - /* Named session snapshot streaming */ - {"hostname//snapshot-1-20190918-175919-0/ust//uid/1000/64-bit", - "my_session", "hostname", "", "", - "snapshot-1-20190918-175919-0/ust//uid/1000/64-bit", - true}, - /* Default name session, live */ - {"hostname//auto-20190918-171641/ust/uid/1000/64-bit", - "auto-20190918-171641", "hostname", - "20190918-171641", "", "ust/uid/1000/64-bit", - true}, - /* Named session, live */ - {"hostname//test-20190918-180333//ust/uid/1000/64-bit", - "test-20190918-180333", "hostname", - "20190918-180333", "", "/ust/uid/1000/64-bit", - true}, - /* Default name session, streaming & live , extra path */ - {"hostname/extra/path/ust/uid/1000/64-bit", - "auto-20190919-122110", "hostname", - "20190919-122110", "extra", - "path/ust/uid/1000/64-bit", true}, - /* Named session, live, extra path */ - {"hostname/extra/path/ust/uid/1000/64-bit", "test", "hostname", - "", "extra", "path/ust/uid/1000/64-bit", true}, - /* Named session, snapshot, extra path */ - {"hostname/extra/path/snapshot-1-20190919-140702-0/ust//uid/1000/64-bit", - "test", "hostname", "", "extra", - "path/snapshot-1-20190919-140702-0/ust//uid/1000/64-bit", - true}, - /* Corner cases*/ - /* Named session with valid datetime in it */ - /* Default name session, extra path with session name in it*/ - {"hostname/test-20190319-120000-20190918-180921/ust/uid/1000/64-bit", - "test-20190319-120000", "hostname", - "20190918-180921", "", "ust/uid/1000/64-bit", - true}, - /* Empty path */ - {"", "test", "", "", "", "", false}, - /* Path without second token */ - {"hostname", "test", "hostname", "", "", "", false}, - /* No leftover */ - {"hostname/test", "test", "hostname", "", "", "", true}, - /* Path with ession name but no datetime */ - {"hostname/test/ust/uid/1000/64-bit", "test", "hostname", "", - "", "ust/uid/1000/64-bit", true}, + /* Default name session streaming. */ + { "hostname/auto-20190918-164429/ust/uid/1000/64-bit", + "auto-20190918-164429", + "hostname", + "20190918-164429", + "", + "ust/uid/1000/64-bit", + true }, + /* Custom default name session */ + { "hostname/custom_auto-20190319-120000/ust/uid/1000/64-bit", + "custom_auto-20190319-120000", + "hostname", + "20190319-120000", + "", + "ust/uid/1000/64-bit", + true }, + /* Named session streaming */ + { "hostname/test-20190918-164709/ust/uid/1000/64-bit", + "test", + "hostname", + "20190918-164709", + "", + "ust/uid/1000/64-bit", + true }, + /* Default session snapshot streaming */ + { "hostname//snapshot-1-20190918-164829-0/ust//uid/1000/64-bit", + "my_session", + "hostname", + "", + "", + "snapshot-1-20190918-164829-0/ust//uid/1000/64-bit", + true }, + /* Named session snapshot streaming */ + { "hostname//snapshot-1-20190918-175919-0/ust//uid/1000/64-bit", + "my_session", + "hostname", + "", + "", + "snapshot-1-20190918-175919-0/ust//uid/1000/64-bit", + true }, + /* Default name session, live */ + { "hostname//auto-20190918-171641/ust/uid/1000/64-bit", + "auto-20190918-171641", + "hostname", + "20190918-171641", + "", + "ust/uid/1000/64-bit", + true }, + /* Named session, live */ + { "hostname//test-20190918-180333//ust/uid/1000/64-bit", + "test-20190918-180333", + "hostname", + "20190918-180333", + "", + "/ust/uid/1000/64-bit", + true }, + /* Default name session, streaming & live , extra path */ + { "hostname/extra/path/ust/uid/1000/64-bit", + "auto-20190919-122110", + "hostname", + "20190919-122110", + "extra", + "path/ust/uid/1000/64-bit", + true }, + /* Named session, live, extra path */ + { "hostname/extra/path/ust/uid/1000/64-bit", + "test", + "hostname", + "", + "extra", + "path/ust/uid/1000/64-bit", + true }, + /* Named session, snapshot, extra path */ + { "hostname/extra/path/snapshot-1-20190919-140702-0/ust//uid/1000/64-bit", + "test", + "hostname", + "", + "extra", + "path/snapshot-1-20190919-140702-0/ust//uid/1000/64-bit", + true }, + /* Corner cases*/ + /* Named session with valid datetime in it */ + /* Default name session, extra path with session name in it*/ + { "hostname/test-20190319-120000-20190918-180921/ust/uid/1000/64-bit", + "test-20190319-120000", + "hostname", + "20190918-180921", + "", + "ust/uid/1000/64-bit", + true }, + /* Empty path */ + { "", "test", "", "", "", "", false }, + /* Path without second token */ + { "hostname", "test", "hostname", "", "", "", false }, + /* No leftover */ + { "hostname/test", "test", "hostname", "", "", "", true }, + /* Path with ession name but no datetime */ + { "hostname/test/ust/uid/1000/64-bit", + "test", + "hostname", + "", + "", + "ust/uid/1000/64-bit", + true }, }; static char *craft_expected(struct test *test, time_t relay_session_creation_time) { int ret; - char *result = NULL; + char *result = nullptr; char relay_session_creation_datetime[DATETIME_STR_LEN]; ret = time_to_datetime_str(relay_session_creation_time, - relay_session_creation_datetime, - sizeof(relay_session_creation_datetime)); + relay_session_creation_datetime, + sizeof(relay_session_creation_datetime)); if (ret < 0) { - result = NULL; + result = nullptr; goto end; } - ret = asprintf(&result, "%s/%s-%s/%s%s%s", test->session_name, - test->hostname, - test->creation_time[0] == '\0' ? - relay_session_creation_datetime : - test->creation_time, - test->extra_path, - test->extra_path[0] != '\0' ? "/" : "", test->leftover); + ret = asprintf(&result, + "%s/%s-%s/%s%s%s", + test->session_name, + test->hostname, + test->creation_time[0] == '\0' ? relay_session_creation_datetime : + test->creation_time, + test->extra_path, + test->extra_path[0] != '\0' ? "/" : "", + test->leftover); if (ret < 0) { - result = NULL; + result = nullptr; goto end; } end: return result; } -int main(void) +int main() { int i; int num_test = sizeof(tests) / sizeof(struct test); - const time_t test_time = time(NULL); + const time_t test_time = time(nullptr); plan_tests(NUM_TESTS_PER_TEST * num_test); diag("Backward compatibility utils for lttng-relayd --group-by-session"); @@ -142,8 +187,8 @@ int main(void) } for (i = 0; i < num_test; i++) { - char *expected = NULL; - char *result = NULL; + char *expected = nullptr; + char *result = nullptr; expected = craft_expected(&tests[i], test_time); if (!expected) { @@ -151,8 +196,8 @@ int main(void) goto loop; } - result = backward_compat_group_by_session(tests[i].stream_path, - tests[i].session_name, test_time); + result = backward_compat_group_by_session( + tests[i].stream_path, tests[i].session_name, test_time); if (!result && tests[i].is_valid) { fprintf(stderr, "Failed to get result\n"); goto loop; @@ -162,8 +207,10 @@ int main(void) } ok(strncmp(expected, result, strlen(expected)) == 0, - "In: %s, out: %s, expected: %s", - tests[i].stream_path, result, expected); + "In: %s, out: %s, expected: %s", + tests[i].stream_path, + result, + expected); loop: free(expected); free(result);