aboutsummaryrefslogtreecommitdiffstats
path: root/becommands/assign.py
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2008-11-18 20:42:50 -0500
committerW. Trevor King <wking@drexel.edu>2008-11-18 20:42:50 -0500
commit19b153b9a86377a2b30cc80fa3f475fed892e2fe (patch)
tree8f5688707ab1b34ffec2bc4372d087580ff21709 /becommands/assign.py
parente4018dfe8cfa553adbd20898c5b42c3462ca1733 (diff)
downloadbugseverywhere-19b153b9a86377a2b30cc80fa3f475fed892e2fe.tar.gz
Major rewrite of RCS backends. RCS now represented as a class.
Lots of changes and just one commit. This started with bug dac91856-cb6a-4f69-8c03-38ff0b29aab2, when I noticed that new bugs were not being added appropriately with the Git backend. I'd been working with Git trouble before with bug 0cad2ac6-76ef-4a88-abdf-b2e02de76f5c, and decided things would be better off if I just scrapped the current RCS architecture and went to a more object oriented setup. So I did. It's not clear how to add support for an RCS backend: * Create a new module that - defines an inheritor of rsc.RCS, overriding the _rcs_*() methods - provide a new() function for instantizating the new class - defines an inheritor of rcs.RCStestCase, overiding the Class attribute - defines 'suite' a unittest.TestSuite testing the module * Add your new module to the rest in rcs._get_matching_rcs() * Add your new module to the rest in libbe/tests.py Although I'm not sure libbe/tests.py is still usefull. The new framework clears out a bunch of hackery that used to be involved with supporting becommands/diff.py. There's still room for progress though. While implementing the new verision, I moved the testing framework over from doctest to a doctest/unittest combination. Longer tests that don't demonstrate a function's usage should be moved to unittests at the end of the module, since unittest has better support for setup/teardown, etc. The new framework also revealed some underimplented backends, most notably arch. These backends have now been fixed. I also tweaked the test_usage.sh script to run through all the backends if it is called with no arguments. The fix for the dac bug turned out to be an unflushed file write :p.
Diffstat (limited to 'becommands/assign.py')
-rw-r--r--becommands/assign.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/becommands/assign.py b/becommands/assign.py
index d595c1d..3513ab1 100644
--- a/becommands/assign.py
+++ b/becommands/assign.py
@@ -15,19 +15,19 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""Assign an individual or group to fix a bug"""
-from libbe import cmdutil, names
+from libbe import cmdutil
__desc__ = __doc__
def execute(args):
"""
- >>> from libbe import tests, names
+ >>> from libbe import bugdir
>>> import os
- >>> dir = tests.simple_bug_dir()
+ >>> dir = bugdir.simple_bug_dir()
>>> os.chdir(dir.dir)
>>> dir.get_bug("a").assigned is None
True
>>> execute(["a"])
- >>> dir.get_bug("a").assigned == names.creator()
+ >>> dir.get_bug("a").assigned == dir.rcs.get_user_id()
True
>>> execute(["a", "someone"])
>>> dir.get_bug("a").assigned
@@ -35,7 +35,6 @@ def execute(args):
>>> execute(["a","none"])
>>> dir.get_bug("a").assigned is None
True
- >>> tests.clean_up()
"""
options, args = get_parser().parse_args(args)
assert(len(args) in (0, 1, 2))
@@ -44,7 +43,7 @@ def execute(args):
return
bug = cmdutil.get_bug(args[0])
if len(args) == 1:
- bug.assigned = names.creator()
+ bug.assigned = bug.rcs.get_user_id()
elif len(args) == 2:
if args[1] == "none":
bug.assigned = None