From 37157407c121ca6cdfb4beb726adb49303bf929e Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Thu, 24 Mar 2005 06:03:04 +0000 Subject: [PATCH] Added tests for set-root --- becommands/set_root.py | 21 +++++++++++++++++++++ libbe/tests.py | 24 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 libbe/tests.py diff --git a/becommands/set_root.py b/becommands/set_root.py index ff7662a..87e4bda 100644 --- a/becommands/set_root.py +++ b/becommands/set_root.py @@ -2,6 +2,27 @@ 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]) diff --git a/libbe/tests.py b/libbe/tests.py new file mode 100644 index 0000000..ecd6ed5 --- /dev/null +++ b/libbe/tests.py @@ -0,0 +1,24 @@ +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 -- 2.26.2