X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Ftest_sessions.c;h=3e876c88990c15cc1dbb14a9a98be1bfea202ceb;hb=986122407a4279879094329dbfc19187f4a65faf;hp=461a33c1e23a852255ff71a65bfc757a45abcf38;hpb=f6a9efaa0fe496b7fa4850daa2eae98a240433e1;p=lttng-tools.git diff --git a/tests/test_sessions.c b/tests/test_sessions.c index 461a33c1e..3e876c889 100644 --- a/tests/test_sessions.c +++ b/tests/test_sessions.c @@ -24,10 +24,11 @@ #include #include #include +#include -#include +#include +#include -#include #include "utils.h" #define SESSION1 "test1" @@ -36,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 @@ -60,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; } /* @@ -118,7 +121,7 @@ static int create_one_session(char *name, char *path) { int ret; - ret = session_create(name, path); + ret = session_create(name, path, geteuid(), getegid()); if (ret == LTTCOMM_OK) { /* Validate */ ret = find_session_name(name); @@ -251,6 +254,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; @@ -258,6 +262,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; @@ -272,6 +277,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; @@ -279,6 +285,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; @@ -288,6 +295,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; @@ -295,6 +303,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; @@ -302,6 +311,7 @@ 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(); ret = create_one_session(tmp_name, PATH1); @@ -314,6 +324,7 @@ int main(int argc, char **argv) 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);