X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Ftest_sessions.c;h=5faf64f27f7d60ea27176a6da17ed4d1808a60b6;hp=01a54b3ce27eb0d91b09992d7a3aae0f36d1c359;hb=c9e326131856d96e03bc19f74e4ea39709b52ae5;hpb=6df2e2c977b698cc6b8f15c90b649516674028f9 diff --git a/tests/test_sessions.c b/tests/test_sessions.c index 01a54b3ce..5faf64f27 100644 --- a/tests/test_sessions.c +++ b/tests/test_sessions.c @@ -26,9 +26,9 @@ #include #include -#include +#include +#include -#include #include "utils.h" #define SESSION1 "test1" @@ -37,6 +37,7 @@ #define PATH1 "/tmp/.test-junk-lttng" #define MAX_SESSIONS 10000 +#define RANDOM_STRING_LEN 11 /* * String of 263 caracters. NAME_MAX + "OVERFLOW". If OVERFLOW appears in the @@ -61,22 +62,23 @@ static const char alphanum[] = "0123456789" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"; +static char random_string[RANDOM_STRING_LEN]; /* * Return random string of 10 characters. + * Not thread-safe. */ static char *get_random_string(void) { int i; - char *str = malloc(11); - for (i = 0; i < 10; i++) { - str[i] = alphanum[rand() % (sizeof(alphanum) - 1)]; + for (i = 0; i < RANDOM_STRING_LEN - 1; i++) { + random_string[i] = alphanum[rand() % (sizeof(alphanum) - 1)]; } - str[10] = '\0'; + random_string[RANDOM_STRING_LEN - 1] = '\0'; - return str; + return random_string; } /* @@ -239,7 +241,6 @@ static int two_session_same_name(void) int main(int argc, char **argv) { int ret, i; - char *tmp_name; struct ltt_session *iter, *tmp; srand(time(NULL)); @@ -252,6 +253,7 @@ int main(int argc, char **argv) } printf("Create 1 session %s: ", SESSION1); + fflush(stdout); ret = create_one_session(SESSION1, PATH1); if (ret < 0) { return -1; @@ -259,6 +261,7 @@ int main(int argc, char **argv) PRINT_OK(); printf("Validating created session %s: ", SESSION1); + fflush(stdout); tmp = session_find_by_name(SESSION1); if (tmp == NULL) { return -1; @@ -273,6 +276,7 @@ int main(int argc, char **argv) PRINT_OK(); printf("Destroy 1 session %s: ", SESSION1); + fflush(stdout); ret = destroy_one_session(tmp); if (ret < 0) { return -1; @@ -280,6 +284,7 @@ int main(int argc, char **argv) PRINT_OK(); printf("Two session with same name: "); + fflush(stdout); ret = two_session_same_name(); if (ret < 0) { return -1; @@ -289,6 +294,7 @@ int main(int argc, char **argv) empty_session_list(); printf("Fuzzing create_session arguments: "); + fflush(stdout); ret = fuzzing_create_args(); if (ret < 0) { return -1; @@ -296,6 +302,7 @@ int main(int argc, char **argv) PRINT_OK(); printf("Fuzzing destroy_session argument: "); + fflush(stdout); ret = fuzzing_destroy_args(); if (ret < 0) { return -1; @@ -303,18 +310,20 @@ int main(int argc, char **argv) PRINT_OK(); printf("Creating %d sessions: ", MAX_SESSIONS); + fflush(stdout); for (i = 0; i < MAX_SESSIONS; i++) { - tmp_name = get_random_string(); + char *tmp_name = get_random_string(); + ret = create_one_session(tmp_name, PATH1); if (ret < 0) { printf("session %d (name: %s) creation failed\n", i, tmp_name); return -1; } - free(tmp_name); } PRINT_OK(); printf("Destroying %d sessions: ", MAX_SESSIONS); + fflush(stdout); for (i = 0; i < MAX_SESSIONS; i++) { cds_list_for_each_entry_safe(iter, tmp, &session_list->head, list) { ret = destroy_one_session(iter);