from libbe import bugdir, cmdutil, rcs
def execute(args):
+ """
+ >>> from libbe import tests
+ >>> dir = tests.Dir()
+ >>> try:
+ ... bugdir.tree_root(dir.name)
+ ... except bugdir.NoBugDir, e:
+ ... True
+ True
+ >>> execute([dir.name])
+ No revision control detected.
+ Directory initialized.
+ >>> bd = bugdir.tree_root(dir.name)
+ >>> bd.root = dir.name
+ >>> dir = tests.arch_dir()
+ >>> execute([dir.name+"/{arch}"])
+ Using Arch for revision control.
+ Directory initialized.
+ >>> bd = bugdir.tree_root(dir.name+"/{arch}")
+ >>> bd.root = dir.name
+ >>> tests.clean_up()
+ """
if len(args) != 1:
raise cmdutil.UserError("Please supply a directory path")
dir_rcs = rcs.detect(args[0])
--- /dev/null
+import tempfile
+import shutil
+import os
+import os.path
+cleanable = []
+def clean_up():
+ global cleanable
+ tmp = cleanable
+ tmp.reverse()
+ for obj in tmp:
+ obj.clean_up()
+ cleanable = []
+
+class Dir:
+ def __init__(self):
+ self.name = tempfile.mkdtemp(prefix="testdir")
+ cleanable.append(self)
+ def clean_up(self):
+ shutil.rmtree(self.name)
+
+def arch_dir():
+ dir = Dir()
+ os.mkdir(os.path.join(dir.name, "{arch}"))
+ return dir