summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2008-06-27 10:42:38 +0000
committerEdward Hervey <bilboed@bilboed.com>2008-06-27 10:42:38 +0000
commit4373919e9605b7f19b03bebd98d2332cb477a044 (patch)
tree9cdf0b3bbd967168db0fb69d0a11ce226f666388 /testsuite
parent99cbd6dec462b5c341f0b70fe945e19dc22100a6 (diff)
testsuite/test_interface.py: Don't hardcode 'alsasrc' for testing GstMixer and GstPropertyProbe interfaces, but inste...
Original commit message from CVS: * 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.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/test_interface.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/testsuite/test_interface.py b/testsuite/test_interface.py
index f34d6d2..4f4c89c 100644
--- a/testsuite/test_interface.py
+++ b/testsuite/test_interface.py
@@ -24,6 +24,14 @@ from common import gst, unittest, TestCase
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 @@ class FunctionCall(TestCase):
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 @@ class MixerTest(TestCase):
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)
@@ -67,8 +83,11 @@ class MixerTest(TestCase):
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()