Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/run.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-12-03 15:57:20 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-12-03 15:57:20 (GMT)
commit75f433cc14ab2086c5cf79b23d208809f78451be (patch)
tree99b02d5cd8f9a862fb73b42d1f59f71004264387 /devbot/run.py
parentb61ccac7a65e807e89257ca3274e97a23030657c (diff)
Refactor a bit to keep devbot somewhat generic
Diffstat (limited to 'devbot/run.py')
-rw-r--r--devbot/run.py39
1 files changed, 11 insertions, 28 deletions
diff --git a/devbot/run.py b/devbot/run.py
index 9f52bbf..a0fc444 100644
--- a/devbot/run.py
+++ b/devbot/run.py
@@ -10,20 +10,10 @@ import time
from devbot import environ
from devbot import config
-def run_sugar():
- profile_env = os.environ.get("SUGAR_PROFILE", None)
- profile_pref = config.get_pref("PROFILE")
-
- if profile_env is not None:
- if profile_pref is None:
- config.set_pref("PROFILE", _get_random_id())
- elif profile_pref == profile_env:
- print "Cannot run two instances with the same profile."
- return
-
+def run(command):
environ.setup()
- args = ["sugar-runner"]
+ args = [command]
resolution = config.get_pref("RESOLUTION")
if resolution:
@@ -35,26 +25,19 @@ def run_sugar():
os.execlp(args[0], *args)
-def run_test(test_path, virtual=False):
- os.environ["SUGAR_LOGGER_LEVEL"] = "debug"
- os.environ["SUGAR_PROFILE"] = "uitests"
- os.environ["GTK_MODULES"] = "gail:atk-bridge"
-
+def run_test(command, test_path, virtual=False):
environ.setup()
- args = ["sugar-runner"]
+ args = [command]
if virtual:
args.append("--virtual")
- sugar_process = subprocess.Popen(args, stdout=subprocess.PIPE)
+ command_process = subprocess.Popen(args, stdout=subprocess.PIPE)
for i in range(0, 2):
- line = sugar_process.stdout.readline()
+ line = command_process.stdout.readline()
name, value = line.split("=", 1)
os.environ[name.strip()] = value.strip()
- profile_path = os.path.expanduser("~/.sugar/uitests")
- shutil.rmtree(profile_path, ignore_errors=True)
-
time.sleep(5)
try:
@@ -63,22 +46,22 @@ def run_test(test_path, virtual=False):
except subprocess.CalledProcessError:
result = False
- sugar_proces.terminate()
+ command_process.terminate()
+ return result
+
+def merge_logs(logs_path, log_name):
logs = {}
- logs_path = os.path.join(profile_path, "logs")
for filename in os.listdir(logs_path):
if filename.endswith(".log"):
path = os.path.join(logs_path, filename)
with open(path) as f:
logs[filename] = f.read()
- with open(os.path.join(config.logs_dir, "test.log"), "w") as f:
+ with open(os.path.join(config.logs_dir, log_name), "w") as f:
for filename, log in logs.items():
f.write("===== %s =====\n\n%s" % (filename, log))
- return result
-
def _get_random_id():
return ''.join(random.choice(string.letters) for i in xrange(8))