From 96d10a665b90a0ca0419cc4e074aa55aac4a54e2 Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Mon, 03 Dec 2012 19:30:41 +0000 Subject: Use progressive logs numbering --- (limited to 'devbot') diff --git a/devbot/build.py b/devbot/build.py index 98cf368..91397e6 100644 --- a/devbot/build.py +++ b/devbot/build.py @@ -3,7 +3,6 @@ import os import multiprocessing import shutil import subprocess -import time from devbot import command from devbot import config @@ -64,8 +63,7 @@ def build(): state.remove_built_commit_id(module) for module in modules: - log = "build-%s" % time.strftime("%Y%m%d-%H%M%S") - if not _build_module(module, log): + if not _build_module(module, config.get_log_path("build")): return False return True diff --git a/devbot/config.py b/devbot/config.py index 284e9a8..9cce430 100644 --- a/devbot/config.py +++ b/devbot/config.py @@ -202,6 +202,21 @@ def _save_prefs(prefs): for pref in prefs.items(): f.write("%s\n" % "=".join(pref)) +def get_log_path(prefix): + logfile_path = None + number = 0 + + while logfile_path is None: + name = "%s-%d.log" % (prefix, number) + path = os.path.join(logs_dir, name) + + if not os.path.exists(path): + logfile_path = path + + number = number + 1 + + return logfile_path + def get_pref(name): prefs = _read_prefs() return prefs.get(name, None) diff --git a/devbot/run.py b/devbot/run.py index 8733c10..930cd42 100644 --- a/devbot/run.py +++ b/devbot/run.py @@ -62,18 +62,28 @@ def run_test(command, test_path, virtual=False): return result -def merge_logs(logs_path, log_name): +def collect_logs(source_path, log_name): logs = {} - for filename in os.listdir(logs_path): + for filename in os.listdir(source_path): if filename.endswith(".log"): - path = os.path.join(logs_path, filename) + path = os.path.join(source_path, filename) with open(path) as f: logs[filename] = f.read() - with open(os.path.join(config.logs_dir, log_name), "w") as f: + log_path = config.get_log_path(log_name) + with open(log_path, "w") as f: for filename, log in logs.items(): f.write("===== %s =====\n\n%s" % (filename, log)) + last_log_path = os.path.join(config.logs_dir, "%s.log" % log_name) + + try: + os.unlink(last_log_path) + except OSError: + pass + + os.symlink(log_path, last_log_path) + def _get_random_id(): return ''.join(random.choice(string.letters) for i in xrange(8)) -- cgit v0.9.1