]> mj.ucw.cz Git - moe.git/commitdiff
Added sandbox interface module
authorMartin Mares <mj@ucw.cz>
Mon, 10 Aug 2009 18:32:43 +0000 (20:32 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 10 Aug 2009 18:32:43 +0000 (20:32 +0200)
t/moe/box.py [new file with mode: 0644]

diff --git a/t/moe/box.py b/t/moe/box.py
new file mode 100644 (file)
index 0000000..daae267
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+import moe
+import moe.util
+import os.path
+
+def init(e):
+    user = e.cfgs["TEST_USER"]
+    if user == "":
+       e.log.verbose("Sandbox running locally\n")
+       e.builtins.parse_line("BOXDIR=${HOME}/box")
+       e.builtins.parse_line("BOXEXE=${HOME}/bin/box")
+    else:
+       e.log.verbose("Sandbox user: %s\n" % user);
+       e.builtins.parse_line("BOXDIR=${HOME}/box")
+       e.builtins.parse_line("BOXEXE=${HOME}/bin/box-" + user)
+    e.builtins.parse_line("BOXCMD=${BOXEXE} -c${BOXDIR}")
+    dir = e.cfgs["BOXDIR"]
+    cmd = e.cfgs["BOXCMD"]
+    exe = e.cfgs["BOXEXE"]
+    e.log.verbose("Sandbox directory: %s\n" % dir)
+    e.log.verbose("Sandbox command: %s\n" % cmd)
+    if dir == "" or not os.path.isdir(dir) or exe == "" or not os.path.isfile(exe):
+       raise moe.MoeErr, "Sandbox set up incorrectly"
+
+def clean(e):
+    moe.util.remove_tree_contents(e.cfgs["BOXDIR"])
+
+def setup(e):
+    clean(e)
+    return e.cfgs["BOXDIR"]
+
+def show(e, msg):
+    if e.log.verbosity > 1:
+       e.log.verbose("Box contents for %s:\n" % msg)
+       e.log.flush()
+       os.system("ls -Al %s | sed 's/^/\t/'" % e.cfgs["BOXDIR"])
+
+def run(e, opts,