[Supervisor-checkins] r801 - in supervisor/branches/gsoc/src/supervisor: . tests

Siddhant Goel siddhantgoel at gmail.com
Wed Aug 13 07:30:57 EDT 2008


Author: Siddhant Goel <siddhantgoel at gmail.com>
Date: Wed Aug 13 07:30:57 2008
New Revision: 801

Log:
Unit tests

Modified:
   supervisor/branches/gsoc/src/supervisor/supervisorctl.py
   supervisor/branches/gsoc/src/supervisor/tests/test_supervisorctl.py

Modified: supervisor/branches/gsoc/src/supervisor/supervisorctl.py
==============================================================================
--- supervisor/branches/gsoc/src/supervisor/supervisorctl.py	(original)
+++ supervisor/branches/gsoc/src/supervisor/supervisorctl.py	Wed Aug 13 07:30:57 2008
@@ -115,6 +115,7 @@
                       'restart','start','stop','version','clear',
                       'fg','open','quit','remove','shutdown','status',
                       'tail','help']
+        self.info=self.get_supervisor().getAllProcessInfo()
         cmd.Cmd.__init__(self, completekey, stdin, stdout)
         for name, factory, kwargs in self.options.plugin_factories:
             plugin = factory(self, **kwargs)
@@ -222,12 +223,10 @@
         return True
 
     def completionmatches(self,text,line,flag=0):
-        supervisor=self.get_supervisor()
-        li=supervisor.getAllProcessInfo()
         groups=[]
         programs=[]
         groupwiseprograms={}
-        for i in li:
+        for i in self.info:
             programs.append(i['name'])
             if i['group'] not in groups:
                 groups.append(i['group'])
@@ -241,8 +240,8 @@
                 for n in groupwiseprograms[i]:
                     total.append(i+':'+n+' ')
         if flag:
+            # add/remove require only the group name
             return [i+' ' for i in groups if i.startswith(text)]
-        current=line.split()[-1]
         if len(line.split()) == 1:
             return total
         else:

Modified: supervisor/branches/gsoc/src/supervisor/tests/test_supervisorctl.py
==============================================================================
--- supervisor/branches/gsoc/src/supervisor/tests/test_supervisorctl.py	(original)
+++ supervisor/branches/gsoc/src/supervisor/tests/test_supervisorctl.py	Wed Aug 13 07:30:57 2008
@@ -74,6 +74,18 @@
         self.assertEqual(controller.cmdqueue, [' help'])
         self.assertEqual(plugin.helped, True)
 
+    def test_completionmatches(self):
+        options=DummyClientOptions()
+        controller=self._makeOne(options)
+        controller.stdout=StringIO()
+        plugin=DummyPlugin()
+        controller.options.plugin=(plugin,)
+        for i in ['add','remove']:
+            result=controller.completionmatches('',i+' ',1)
+            self.assertEqual(result,['foo ','bar ','baz '])
+        result=controller.completionmatches('','fg baz:')
+        self.assertEqual(result,['baz_01 '])
+
     def test_nohelp(self):
         options = DummyClientOptions()
         controller = self._makeOne(options)


More information about the Supervisor-checkins mailing list