zaheer - in flumotion/branches/eaters-info-1: . flumotion/component flumotion/test

flumotion-commit at lists.fluendo.com flumotion-commit at lists.fluendo.com
Thu Mar 8 12:50:35 CET 2007


Author: zaheer
Date: Thu Mar  8 12:50:32 2007
New Revision: 4600

Modified:
   flumotion/branches/eaters-info-1/ChangeLog
   flumotion/branches/eaters-info-1/flumotion/component/feedcomponent010.py
   flumotion/branches/eaters-info-1/flumotion/test/test_component.py
Log:
2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

        * flumotion/component/feedcomponent010.py:
        Remove EATERS_TMPL as it is now dynamic.
        Add identity check-perfect=true to the FDSRC_TMPL so we can
        track stream perfection.
        * flumotion/test/test_component.py:
        Refactor test so that it uses the dynamic get_eater_template()
        and get_feeder_template().



Modified: flumotion/branches/eaters-info-1/ChangeLog
==============================================================================
--- flumotion/branches/eaters-info-1/ChangeLog	(original)
+++ flumotion/branches/eaters-info-1/ChangeLog	Thu Mar  8 12:50:32 2007
@@ -1,3 +1,13 @@
+2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
+
+	* flumotion/component/feedcomponent010.py:
+	Remove EATERS_TMPL as it is now dynamic.
+	Add identity check-perfect=true to the FDSRC_TMPL so we can
+	track stream perfection.
+	* flumotion/test/test_component.py:
+	Refactor test so that it uses the dynamic get_eater_template()
+	and get_feeder_template().
+
 2007-03-07  Michael Smith  <msmith at fluendo.com>
 
 	* flumotion/worker/worker.py:

Modified: flumotion/branches/eaters-info-1/flumotion/component/feedcomponent010.py
==============================================================================
--- flumotion/branches/eaters-info-1/flumotion/component/feedcomponent010.py	(original)
+++ flumotion/branches/eaters-info-1/flumotion/component/feedcomponent010.py	Thu Mar  8 12:50:32 2007
@@ -210,11 +210,11 @@
     I am a base class for all Flumotion feed components.
     """
     # keep these as class variables for the tests
-    FDSRC_TMPL = 'fdsrc name=%(name)s'
+    FDSRC_TMPL = 'fdsrc name=%(name)s ! ' + \
+        'identity check-perfect=true name=%(name)s-identity'
     DEPAY_TMPL = 'gdpdepay name=%(name)s-depay'
-    EATER_TMPL = FDSRC_TMPL + ' ! ' + DEPAY_TMPL
     FEEDER_TMPL = 'gdppay ! multifdsink sync=false name=%(name)s buffers-max=500 buffers-soft-max=450 recover-policy=1'
-
+    # EATER_TMPL is no longer used due to it being dynamic
     # how often to add the buffer probe
     BUFFER_PROBE_ADD_FREQUENCY = 5
 

Modified: flumotion/branches/eaters-info-1/flumotion/test/test_component.py
==============================================================================
--- flumotion/branches/eaters-info-1/flumotion/test/test_component.py	(original)
+++ flumotion/branches/eaters-info-1/flumotion/test/test_component.py	Thu Mar  8 12:50:32 2007
@@ -79,10 +79,8 @@
         except Exception, e:
             d.errback(e)
     dd.addCallback(pipelineConfigCallback)
-    return d
-
-EATER = ParseLaunchComponent.EATER_TMPL
-FEEDER = ParseLaunchComponent.FEEDER_TMPL
+    # return a tuple because we need a reference to the PipelineTest object
+    return (d, t)
 
 class TestExpandElementName(unittest.TestCase):
     def setUp(self):
@@ -184,16 +182,17 @@
         assert r == '@eater:card:default@ !  @feeder:fake:sound@' 
         
 class TestParser(unittest.TestCase):
-    def _eater(self, name):
-        return EATER % { 'name': 'eater:%s' % name }
-    def _feeder(self, name):
-        return FEEDER % { 'name': 'feeder:%s' % name }
+    def _eater(self, pipeline, name):
+        return pipeline.get_eater_template(name) % { 'name': 'eater:%s' % name }
+    def _feeder(self, pipeline, name):
+        return pipeline.get_feeder_template(name) % \
+            { 'name': 'feeder:%s' % name }
 
     def _pipelineFactoryCallback(self, result, correctresult):
         self.assertEquals(result, correctresult)
 
     def testSimpleOneElement(self):
-        d = pipelineFactory('foobar')
+        d, pipeline = pipelineFactory('foobar')
         if weHaveAnOldTwisted():
             result = unittest.deferredResult(d)
             self.assertEquals(result, 'foobar')
@@ -202,7 +201,7 @@
             return d
 
     def testSimpleTwoElements(self):
-        d = pipelineFactory('foo ! bar')
+        d, pipeline = pipelineFactory('foo ! bar')
         if weHaveAnOldTwisted():
             result = unittest.deferredResult(d)
             self.assertEquals(result, 'foo ! bar')
@@ -211,86 +210,97 @@
             return d
 
     def testOneSource(self):
-        d  = pipelineFactory('@eater:foo@ ! bar', ['foo'])
+        d, pipeline  = pipelineFactory('@eater:foo@ ! bar', ['foo'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
             self.assertEquals(res, '%s ! bar' % self._eater('foo:default'))
         else:
             d.addCallback(self._pipelineFactoryCallback, '%s ! bar' % (
-                self._eater('foo:default')))
+                self._eater(pipeline, 'foo:default')))
             return d
 
     def testOneSourceWithout(self):
-        d = pipelineFactory('bar', ['foo'])
+        d, pipeline = pipelineFactory('bar', ['foo'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
             self.assertEquals(res, '%s ! bar' % self._eater('foo:default'))
         else:
             d.addCallback(self._pipelineFactoryCallback, '%s ! bar' % (
-                self._eater('foo:default')))
+                self._eater(pipeline, 'foo:default')))
             return d
 
     def testOneFeed(self):
-        d = pipelineFactory('foo ! @feeder::bar@', [], ['bar'])
+        d, pipeline = pipelineFactory('foo ! @feeder::bar@', [], ['bar'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
-            self.assertEquals(res, 'foo ! %s' % self._feeder('fake:bar'))
+            self.assertEquals(res, 'foo ! %s' % 
+                self._feeder(pipeline, 'fake:bar'))
         else:
             d.addCallback(self._pipelineFactoryCallback, 'foo ! %s' % (
-                self._feeder('fake:bar')))
+                self._feeder(pipeline, 'fake:bar')))
             return d
         
     def testOneFeedWithout(self):
-        d = pipelineFactory('foo', [], ['bar'])
+        d, pipeline = pipelineFactory('foo', [], ['bar'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
-            self.assertEquals(res, 'foo ! %s' % self._feeder('fake:bar'))
+            self.assertEquals(res, 'foo ! %s' % 
+                self._feeder(pipeline, 'fake:bar'))
         else:
             d.addCallback(self._pipelineFactoryCallback, 'foo ! %s' % (
-                self._feeder('fake:bar')))
+                self._feeder(pipeline, 'fake:bar')))
             return d
 
     def testTwoSources(self):
-        d = pipelineFactory('@eater:foo@ ! @eater:bar@ ! baz', ['foo', 'bar'])
+        d, pipeline = pipelineFactory('@eater:foo@ ! @eater:bar@ ! baz', 
+            ['foo', 'bar'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
             self.assertEquals(res, '%s ! %s ! baz' % (
-               self._eater('foo:default'), self._eater('bar:default')))
+               self._eater(pipeline, 'foo:default'), 
+               self._eater(pipeline, 'bar:default')))
         else:
             d.addCallback(self._pipelineFactoryCallback, '%s ! %s ! baz' % (
-               self._eater('foo:default'), self._eater('bar:default')))
+               self._eater(pipeline, 'foo:default'), 
+               self._eater(pipeline, 'bar:default')))
             return d
 
     def testTwoFeeds(self):
-        d = pipelineFactory('foo ! @feeder::bar@ ! @feeder::baz@', [],
+        d, pipeline = pipelineFactory('foo ! @feeder::bar@ ! @feeder::baz@', [],
             ['bar', 'baz'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
             self.assertEquals(res, 'foo ! %s ! %s' % (
-                self._feeder('fake:bar'), self._feeder('fake:baz')))
+                self._feeder(pipeline, 'fake:bar'), 
+                self._feeder(pipeline, 'fake:baz')))
         else:
             d.addCallback(self._pipelineFactoryCallback, 'foo ! %s ! %s' % (
-               self._feeder('fake:bar'), self._feeder('fake:baz')))
+               self._feeder(pipeline, 'fake:bar'), 
+               self._feeder(pipeline, 'fake:baz')))
             return d
 
     def testTwoBoth(self):
-        d = pipelineFactory(
+        d, pipeline = pipelineFactory(
             '@eater:comp1@ ! @eater:comp2@ ! @feeder::feed1@ ! @feeder::feed2@',
                               ['comp1', 'comp2',],
                               ['feed1', 'feed2'])
         if weHaveAnOldTwisted():
             res = unittest.deferredResult(d)
             self.assertEquals(res, '%s ! %s ! %s ! %s' % (
-                self._eater('comp1:default'), self._eater('comp2:default'),
-                self._feeder('fake:feed1'), self._feeder('fake:feed2')))
+                self._eater(pipeline, 'comp1:default'), 
+                self._eater(pipeline, 'comp2:default'),
+                self._feeder(pipeline, 'fake:feed1'), 
+                self._feeder(pipeline, 'fake:feed2')))
         else:
             d.addCallback(self._pipelineFactoryCallback, '%s ! %s ! %s ! %s' % (
-                self._eater('comp1:default'), self._eater('comp2:default'),
-                self._feeder('fake:feed1'), self._feeder('fake:feed2')))
+                self._eater(pipeline, 'comp1:default'), 
+                self._eater(pipeline, 'comp2:default'),
+                self._feeder(pipeline, 'fake:feed1'), 
+                self._feeder(pipeline, 'fake:feed2')))
             return d
 
     def testErrors(self):
-        d = pipelineFactory('')
+        d, pipeline = pipelineFactory('')
         if weHaveAnOldTwisted():
             failure = unittest.deferredError(d)
             assert(isinstance(failure, failure.Failure))


More information about the flumotion-commit mailing list