in conftest.py [0:0]
def copy_logs(request, cluster, directory=None, name=None):
"""Copy the current cluster's log files somewhere, by default to LOG_SAVED_DIR with a name of 'last'"""
log_saved_dir = "logs"
try:
os.mkdir(log_saved_dir)
except OSError:
pass
if directory is None:
directory = log_saved_dir
if name is None:
name = os.path.join(directory, "last")
else:
name = os.path.join(directory, name)
if not os.path.exists(directory):
os.mkdir(directory)
basedir = str(int(time.time() * 1000)) + '_' + request.node.name
logdir = os.path.join(directory, basedir)
any_file = False
for node in cluster.nodes.values():
nodelogdir = node.log_directory()
for f in os.listdir(nodelogdir):
file = os.path.join(nodelogdir, f)
if os.path.isfile(file):
if not any_file:
os.mkdir(logdir)
any_file = True
if f == 'system.log':
target_name = node.name + '.log'
elif f == 'gc.log.0.current':
target_name = node.name + '_gc.log'
else:
target_name = node.name + '_' + f
shutil.copyfile(file, os.path.join(logdir, target_name))
if any_file:
if os.path.exists(name):
os.unlink(name)
if not is_win():
os.symlink(basedir, name)