From: <bi...@ke...> - 2008-06-27 10:42:43
|
CVS Root: /cvs/gstreamer Module: gst-python Changes by: bilboed Date: Fri Jun 27 2008 10:42:52 UTC Log message: * testsuite/test_interface.py: Don't hardcode 'alsasrc' for testing GstMixer and GstPropertyProbe interfaces, but instead search one through the registry. If none are available, return gracefully. Modified files: . : ChangeLog testsuite : test_interface.py Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-python/ChangeLog.diff?r1=1.676&r2=1.677 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-python/testsuite/test_interface.py.diff?r1=1.8&r2=1.9 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-python/ChangeLog,v retrieving revision 1.676 retrieving revision 1.677 diff -u -d -r1.676 -r1.677 --- ChangeLog 27 Jun 2008 10:29:58 -0000 1.676 +++ ChangeLog 27 Jun 2008 10:42:37 -0000 1.677 @@ -1,5 +1,12 @@ 2008-06-27 Edward Hervey <edw...@co...> + * testsuite/test_interface.py: + Don't hardcode 'alsasrc' for testing GstMixer and GstPropertyProbe + interfaces, but instead search one through the registry. + If none are available, return gracefully. + +2008-06-27 Edward Hervey <edw...@co...> * testsuite/test_xml.py: Don't attempt to test gst.XML if there's no available libxml2 module. Index: test_interface.py RCS file: /cvs/gstreamer/gst-python/testsuite/test_interface.py,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- test_interface.py 4 Feb 2007 10:23:38 -0000 1.8 +++ test_interface.py 27 Jun 2008 10:42:38 -0000 1.9 @@ -24,6 +24,14 @@ import gobject +def find_mixer_element(): + """ Searches for an element implementing the mixer interface """ + allmix = [x for x in gst.registry_get_default().get_feature_list(gst.ElementFactory) + if x.has_interface("GstMixer") and x.has_interface("GstPropertyProbe")] + if allmix == []: + return None + return allmix[0] class Availability(TestCase): def testXOverlay(self): assert hasattr(gst.interfaces, 'XOverlay') @@ -42,11 +50,15 @@ assert isinstance(element, gst.Element) assert isinstance(element, gst.interfaces.XOverlay) element.set_xwindow_id(0L) - class MixerTest(TestCase): def setUp(self): TestCase.setUp(self) - self.mixer = gst.element_factory_make('alsasrc', '') + amix = find_mixer_element() + if amix: + self.mixer = amix.create() + else: + self.mixer = None assert self.mixer def tearDown(self): @@ -54,11 +66,15 @@ TestCase.tearDown(self) def testGetProperty(self): + if self.mixer == None: + return self.failUnless(self.mixer.probe_get_property('device')) self.assertRaises(ValueError, self.mixer.probe_get_property, 'non-existent') def testGetProperties(self): properties = self.mixer.probe_get_properties() self.failUnless(properties) self.assertEqual(type(properties), list) @@ -67,8 +83,11 @@ self.assertEqual(prop.value_type, gobject.TYPE_STRING) def testGetValuesName(self): values = self.mixer.probe_get_values_name('device') self.assertEqual(type(values), list) if __name__ == "__main__": unittest.main() |