The run-report script was using the sessiond binary generated via
libtool under the ".libs/" folder. When using this binary, the consumerd
used when starting the sessiond is the one installed system-wide (if
any). This could lead to tests failures if no consumer are installed in
the system or any version mismatch occurs.
This commit fix this by using the consumerd that was built with libtool
in the local source tree.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
import os, sys
import subprocess
import threading
import Queue
import time
import os, sys
import subprocess
import threading
import Queue
import time
from signal import signal, SIGTERM, SIGINT
SESSIOND_BIN_NAME = "lttng-sessiond"
from signal import signal, SIGTERM, SIGINT
SESSIOND_BIN_NAME = "lttng-sessiond"
-SESSIOND_BIN_PATH = "src/bin/lttng-sessiond/.libs/"
+SESSIOND_BIN_PATH = "src/bin/lttng-sessiond/"
+CONSUMERD_BIN_NAME = "lttng-consumerd"
+CONSUMERD_BIN_PATH = "src/bin/lttng-consumerd/"
TESTDIR_PATH = ""
PRINT_BRACKET = "\033[1;34m[\033[1;33m+\033[1;34m]\033[00m"
TESTDIR_PATH = ""
PRINT_BRACKET = "\033[1;34m[\033[1;33m+\033[1;34m]\033[00m"
os.kill(pid, SIGTERM)
bin_path = os.path.join(TESTDIR_PATH, "..", SESSIOND_BIN_PATH, SESSIOND_BIN_NAME)
os.kill(pid, SIGTERM)
bin_path = os.path.join(TESTDIR_PATH, "..", SESSIOND_BIN_PATH, SESSIOND_BIN_NAME)
+ consumer_path = os.path.join(TESTDIR_PATH, "..", CONSUMERD_BIN_PATH, CONSUMERD_BIN_NAME)
if not os.path.isfile(bin_path):
print "Error: No session daemon binary found. Compiled?"
return 0
try:
if not os.path.isfile(bin_path):
print "Error: No session daemon binary found. Compiled?"
return 0
try:
- sdaemon_proc = subprocess.Popen([bin_path, "-d"], shell=False,
- stderr = subprocess.PIPE)
+ args = shlex.split("libtool execute " + bin_path
+ + " --consumerd32-path=" + consumer_path
+ + " --consumerd64-path=" + consumer_path)
+
+ sdaemon_proc = subprocess.Popen(args, shell = False, stderr = subprocess.PIPE)
+
except OSError, e:
print e
return 0
except OSError, e:
print e
return 0
- return get_pid(SESSIOND_BIN_NAME)
+ time.sleep(1)
+
+ return get_pid("lt-" + SESSIOND_BIN_NAME)
def start_test(name):
"""
def start_test(name):
"""