2008-06-27 Edward Hervey <edward.hervey@collabora.co.uk>
+ * 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 <edward.hervey@collabora.co.uk>
+
* testsuite/test_xml.py:
Don't attempt to test gst.XML if there's no available libxml2 module.
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')
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):
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):
+ if self.mixer == None:
+ return
properties = self.mixer.probe_get_properties()
self.failUnless(properties)
self.assertEqual(type(properties), list)
self.assertEqual(prop.value_type, gobject.TYPE_STRING)
def testGetValuesName(self):
+ if self.mixer == None:
+ return
values = self.mixer.probe_get_values_name('device')
self.assertEqual(type(values), list)
+
if __name__ == "__main__":
unittest.main()