testsuite/*: Put test_ prefix on all test filenames

Original commit message from CVS:
testsuite/*: Put test_ prefix on all test filenames
This commit is contained in:
Johan Dahlin 2004-11-23 16:22:08 +00:00
parent b9f4f5e5f7
commit b70d9b6d4c
10 changed files with 13 additions and 494 deletions

View file

@ -1,3 +1,7 @@
2004-11-23 Johan Dahlin <johan@gnome.org>
* testsuite/*: Put test_ prefix on all test filenames
2004-11-23 Johan Dahlin <johan@gnome.org>
* gst/gstmodule.c: sink GstObject, much like GtkObject

View file

@ -18,19 +18,20 @@ testhelper.la: $(testhelper_la_OBJECTS) $(testhelper_la_DEPENDENCIES)
$(LINK) -rpath $(pkgpyexecdir) $(testhelper_la_LDFLAGS) $(testhelper_la_OBJECTS) $(testhelper_la_LIBADD) $(LIBS)
tests = \
buffer.py \
caps.py \
common.py \
element.py \
test_buffer.py \
test_caps.py \
test_element.py \
test_event.py \
interface.py \
pad.py \
pipeline.py \
test_interface.py \
test_pad.py \
test_pipeline.py \
test_registry.py \
test_struct.py \
test_xml.py
check-local: testhelper.la
@PYTHONPATH=$(PYTHONPATH):$(top_builddir):$(top_builddir)/gst/.libs $(PYTHON) $(srcdir)/runtests.py
@rm -fr *.pyc
EXTRA_DIST = $(tests) runtests.py test-object.h
EXTRA_DIST = $(tests) common.py runtests.py test-object.h

View file

@ -1,84 +0,0 @@
import sys
from common import gst, unittest
class BufferTest(unittest.TestCase):
def testBufferBuffer(self):
buf = gst.Buffer('test')
assert str(buffer(buf)) == 'test'
def testBufferStr(self):
buffer = gst.Buffer('test')
assert str(buffer) == 'test'
def testBufferBadConstructor(self):
self.assertRaises(TypeError, gst.Buffer, 'test', 0)
def testBufferStrNull(self):
test_string = 't\0e\0s\0t\0'
buffer = gst.Buffer(test_string)
assert str(buffer) == test_string
def testBufferSize(self):
test_string = 'a little string'
buffer = gst.Buffer(test_string)
assert len(buffer) == len(test_string)
#assert hasattr(buffer, 'size')
#assert buffer.size == len(buffer)
def testBufferMaxSize(self):
buffer = gst.Buffer(buffer_size=16)
assert hasattr(buffer, 'maxsize')
assert buffer.maxsize == 16
def testBufferCreateSub(self):
s = ''
for i in range(64):
s += '%02d' % i
buffer = gst.Buffer(s)
assert len(buffer) == 128
sub = buffer.create_sub(16, 16)
assert sub.maxsize == 16
assert sub.offset == -1, sub.offset
def testBufferMerge(self):
buffer1 = gst.Buffer('foo')
buffer2 = gst.Buffer('bar')
merged_buffer = buffer1.merge(buffer2)
assert str(merged_buffer) == 'foobar'
def testBufferJoin(self):
buffer1 = gst.Buffer('foo')
buffer2 = gst.Buffer('bar')
joined_buffer = buffer1.merge(buffer2)
assert str(joined_buffer) == 'foobar'
def testBufferSpan(self):
buffer1 = gst.Buffer('foo')
buffer2 = gst.Buffer('bar')
spaned_buffer = buffer1.span(0L, buffer2, 6L)
assert str(spaned_buffer) == 'foobar'
def testBufferFlagIsSet(self):
buffer = gst.Buffer()
# Off by default
assert not buffer.flag_is_set(gst.BUFFER_READONLY)
# Try switching on and off
buffer.flag_set(gst.BUFFER_READONLY)
assert buffer.flag_is_set(gst.BUFFER_READONLY)
buffer.flag_unset(gst.BUFFER_READONLY)
assert not buffer.flag_is_set(gst.BUFFER_READONLY)
# Try switching on and off
buffer.flag_set(gst.BUFFER_IN_CAPS)
assert buffer.flag_is_set(gst.BUFFER_IN_CAPS)
buffer.flag_unset(gst.BUFFER_IN_CAPS)
assert not buffer.flag_is_set(gst.BUFFER_IN_CAPS)
if __name__ == "__main__":
unittest.main()

View file

@ -1,85 +0,0 @@
import sys
from common import gst, unittest
class CapsTest(unittest.TestCase):
def setUp(self):
self.caps = gst.caps_from_string('video/x-raw-yuv,width=10,framerate=5.0;video/x-raw-rgb,width=15,framerate=10.0')
self.structure = self.caps.get_structure(0)
def testCapsMime(self):
mime = self.structure.get_name()
assert mime == 'video/x-raw-yuv'
def testCapsList(self):
'check if we can access Caps as a list'
structure = self.caps[0]
mime = structure.get_name()
assert mime == 'video/x-raw-yuv'
structure = self.caps[1]
mime = structure.get_name()
assert mime == 'video/x-raw-rgb'
def testCapsConstructEmpty(self):
caps = gst.Caps()
assert isinstance(caps, gst.Caps)
def testCapsConstructFromString(self):
caps = gst.Caps('video/x-raw-yuv,width=10')
assert isinstance(caps, gst.Caps)
assert len(caps) == 1
assert isinstance(caps[0], gst.Structure)
assert caps[0].get_name() == 'video/x-raw-yuv'
assert isinstance(caps[0]['width'], int)
assert caps[0]['width'] == 10
def testCapsConstructFromStructure(self):
struct = gst.structure_from_string('video/x-raw-yuv,width=10')
caps = gst.Caps(struct)
assert isinstance(caps, gst.Caps)
assert len(caps) == 1
assert isinstance(caps[0], gst.Structure)
assert caps[0].get_name() == 'video/x-raw-yuv'
assert isinstance(caps[0]['width'], int)
assert caps[0]['width'] == 10
def testCapsConstructFromStructures(self):
struct1 = gst.structure_from_string('video/x-raw-yuv,width=10')
struct2 = gst.structure_from_string('video/x-raw-rgb,height=20.0')
caps = gst.Caps(struct1, struct2)
assert isinstance(caps, gst.Caps)
assert len(caps) == 2
struct = caps[0]
assert isinstance(struct, gst.Structure), struct
assert struct.get_name() == 'video/x-raw-yuv', struct.get_name()
assert struct.has_key('width')
assert isinstance(struct['width'], int)
assert struct['width'] == 10
struct = caps[1]
assert isinstance(struct, gst.Structure), struct
assert struct.get_name() == 'video/x-raw-rgb', struct.get_name()
assert struct.has_key('height')
assert isinstance(struct['height'], float)
assert struct['height'] == 20.0
def testCapsStructureChange(self):
'test if changing the structure of the caps works by reference'
assert self.structure['width'] == 10
self.structure['width'] = 5
assert self.structure['width'] == 5.0
# check if we changed the caps as well
structure = self.caps[0]
assert structure['width'] == 5.0
def testCapsBadConstructor(self):
struct = gst.structure_from_string('video/x-raw-yuv,width=10')
self.assertRaises(TypeError, gst.Caps, None)
self.assertRaises(TypeError, gst.Caps, 1)
self.assertRaises(TypeError, gst.Caps, 2.0)
self.assertRaises(TypeError, gst.Caps, object)
self.assertRaises(TypeError, gst.Caps, 1, 2, 3)
# This causes segfault!
#self.assertRaises(TypeError, gst.Caps, struct, 10, None)
if __name__ == "__main__":
unittest.main()

View file

@ -1,158 +0,0 @@
#!/usr/bin/python
#
# testsuite for gstreamer.Element
import common
from common import gst, unittest
class ElementTest(unittest.TestCase):
name = 'fakesink'
alias = 'sink'
def testGoodConstructor(self):
element = gst.element_factory_make(self.name, self.alias)
assert element is not None, 'element is None'
assert isinstance(element, gst.Element)
assert element.get_name() == self.alias
class FakeSinkTest(ElementTest):
FAKESINK_STATE_ERROR_NONE = "0"
FAKESINK_STATE_ERROR_NULL_READY, = "1"
FAKESINK_STATE_ERROR_READY_PAUSED, = "2"
FAKESINK_STATE_ERROR_PAUSED_PLAYING = "3"
FAKESINK_STATE_ERROR_PLAYING_PAUSED = "4"
FAKESINK_STATE_ERROR_PAUSED_READY = "5"
FAKESINK_STATE_ERROR_READY_NULL = "6"
name = 'fakesink'
alias = 'sink'
def setUp(self):
self.element = gst.element_factory_make('fakesink', 'sink')
def checkError(self, old_state, state, name):
assert self.element.get_state() == gst.STATE_NULL
assert self.element.set_state(old_state)
assert self.element.get_state() == old_state
self.element.set_property('state-error', name)
self.error = False
def error_cb(element, source, gerror, debug):
assert isinstance(element, gst.Element)
assert element == self.element
assert isinstance(source, gst.Element)
assert source == self.element
assert isinstance(gerror, gst.GError)
self.error = True
self.element.connect('error', error_cb)
common.run_silent(self.element.set_state, state)
assert self.error, 'error not set'
#assert error_message.find('ERROR') != -1
self.element.get_state() == old_state, 'state changed'
def testStateErrorNullReady(self):
self.checkError(gst.STATE_NULL, gst.STATE_READY,
self.FAKESINK_STATE_ERROR_NULL_READY)
def testStateErrorReadyPaused(self):
self.checkError(gst.STATE_READY, gst.STATE_PAUSED,
self.FAKESINK_STATE_ERROR_READY_PAUSED)
def testStateErrorPausedPlaying(self):
self.checkError(gst.STATE_PAUSED, gst.STATE_PLAYING,
self.FAKESINK_STATE_ERROR_PAUSED_PLAYING)
def testStateErrorPlayingPaused(self):
self.checkError(gst.STATE_PLAYING, gst.STATE_PAUSED,
self.FAKESINK_STATE_ERROR_PLAYING_PAUSED)
def testStateErrorPausedReady(self):
self.checkError(gst.STATE_PAUSED, gst.STATE_READY,
self.FAKESINK_STATE_ERROR_PAUSED_READY)
def testStateErrorReadyNull(self):
self.checkError(gst.STATE_READY, gst.STATE_NULL,
self.FAKESINK_STATE_ERROR_READY_NULL)
def checkStateChange(self, old, new):
def state_change_cb(element, old_s, new_s):
assert isinstance(element, gst.Element)
assert element == self.element
assert old_s == old
assert new_s == new
assert self.element.set_state(old)
assert self.element.get_state() == old
self.element.connect('state-change', state_change_cb)
assert self.element.set_state(new)
assert self.element.get_state() == new
def testStateChangeNullReady(self):
self.checkStateChange(gst.STATE_NULL, gst.STATE_READY)
def testStateChangeReadyPaused(self):
self.checkStateChange(gst.STATE_READY, gst.STATE_PAUSED)
def testStateChangePausedPlaying(self):
self.checkStateChange(gst.STATE_PAUSED, gst.STATE_PLAYING)
def testStateChangePlayingPaused(self):
self.checkStateChange(gst.STATE_PLAYING, gst.STATE_PAUSED)
def testStateChangePausedReady(self):
self.checkStateChange(gst.STATE_PAUSED, gst.STATE_READY)
def testStateChangeReadyNull(self):
self.checkStateChange(gst.STATE_READY, gst.STATE_NULL)
class NonExistentTest(ElementTest):
name = 'this-element-does-not-exist'
alias = 'no-alias'
testGoodConstructor = lambda s: None
testGoodConstructor2 = lambda s: None
class FileSrcTest(ElementTest):
name = 'filesrc'
alias = 'source'
class FileSinkTest(ElementTest):
name = 'filesink'
alias = 'sink'
class ElementName(unittest.TestCase):
def testElementStateGetName(self):
get_name = gst.element_state_get_name
for state in ('NULL',
'READY',
'PLAYING',
'PAUSED'):
name = 'STATE_' + state
assert hasattr(gst, name)
attr = getattr(gst, name)
assert get_name(attr) == state
assert get_name(gst.STATE_VOID_PENDING) == 'NONE_PENDING'
assert get_name(-1) == 'UNKNOWN!'
self.assertRaises(TypeError, get_name, '')
class QueryTest(unittest.TestCase):
def setUp(self):
self.pipeline = gst.parse_launch('fakesrc name=source ! fakesink')
self.element = self.pipeline.get_by_name('source')
def testQuery(self):
assert self.element.query(gst.QUERY_TOTAL, gst.FORMAT_BYTES) == -1
assert self.element.query(gst.QUERY_POSITION, gst.FORMAT_BYTES) == 0
assert self.element.query(gst.QUERY_POSITION, gst.FORMAT_TIME) == 0
class QueueTest(unittest.TestCase):
def testConstruct(self):
queue = gst.element_factory_make('queue')
assert isinstance(queue, gst.Queue)
assert queue.get_name() == 'queue0'
if __name__ == "__main__":
unittest.main()

View file

@ -1,22 +0,0 @@
from common import gst, unittest
import gobject
class Availability(unittest.TestCase):
def testXOverlay(self):
assert hasattr(gst.interfaces, 'XOverlay')
assert issubclass(gst.interfaces.XOverlay, gobject.GInterface)
def testMixer(self):
assert hasattr(gst.interfaces, 'Mixer')
assert issubclass(gst.interfaces.Mixer, gobject.GInterface)
class FunctionCall(unittest.TestCase):
def testXOverlay(self):
element = gst.element_factory_make('xvimagesink')
assert isinstance(element, gst.Element)
assert isinstance(element, gst.interfaces.XOverlay)
element.set_xwindow_id(0L)
if __name__ == "__main__":
unittest.main()

View file

@ -1,16 +0,0 @@
from common import gst, unittest
class PadTest(unittest.TestCase):
def setUp(self):
self.pipeline = gst.parse_launch('fakesrc name=source ! fakesink')
src = self.pipeline.get_by_name('source')
self.sink = src.get_pad('src')
def testQuery(self):
assert self.sink.query(gst.QUERY_TOTAL, gst.FORMAT_BYTES) == -1
assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_BYTES) == 0
assert self.sink.query(gst.QUERY_POSITION, gst.FORMAT_TIME) == 0
if __name__ == "__main__":
unittest.main()

View file

@ -1,39 +0,0 @@
from common import gst, unittest
class PipelineConstructor(unittest.TestCase):
def testGoodConstructor(self):
name = 'test-pipeline'
pipeline = gst.Pipeline(name)
assert pipeline is not None, 'pipeline is None'
assert isinstance(pipeline, gst.Pipeline), 'pipeline is not a GstPipline'
assert pipeline.get_name() == name, 'pipelines name is wrong'
class ThreadConstructor(unittest.TestCase):
def testCreate(self):
thread = gst.Thread('test-thread')
assert thread is not None, 'thread is None'
assert isinstance(thread, gst.Thread)
class Pipeline(unittest.TestCase):
def setUp(self):
self.pipeline = gst.Pipeline('test-pipeline')
source = gst.element_factory_make('fakesrc', 'source')
source.set_property('num-buffers', 5)
sink = gst.element_factory_make('fakesink', 'sink')
self.pipeline.add_many(source, sink)
gst.element_link_many(source, sink)
def testRun(self):
self.assertEqual(self.pipeline.get_state(), gst.STATE_NULL)
self.pipeline.set_state(gst.STATE_PLAYING)
self.assertEqual(self.pipeline.get_state(), gst.STATE_PLAYING)
while self.pipeline.iterate():
pass
self.assertEqual(self.pipeline.get_state(), gst.STATE_PAUSED)
self.pipeline.set_state(gst.STATE_NULL)
self.assertEqual(self.pipeline.get_state(), gst.STATE_NULL)
if __name__ == "__main__":
unittest.main()

View file

@ -1,16 +0,0 @@
import sys
from common import gst, unittest
class RegistryPoolTest(unittest.TestCase):
def testPluginList(self):
plugins = gst.registry_pool_plugin_list()
elements = map(lambda p: p.get_name(), plugins)
assert 'gstcoreelements' in elements
def testFeatureList(self):
plugins = gst.registry_pool_feature_list(gst.ElementFactory)
elements = map(lambda p: p.get_name(), plugins)
assert 'fakesink' in elements, elements
if __name__ == "__main__":
unittest.main()

View file

@ -1,66 +0,0 @@
import sys
from common import gst, unittest
class StructureTest(unittest.TestCase):
def setUp(self):
self.struct = gst.structure_from_string('video/x-raw-yuv,width=10,foo="bar",pixel-aspect-ratio=1/2,framerate=5.0')
#def foo(self):
# gst.structure_from_string("foo")
def testName(self):
assert self.struct.get_name() == 'video/x-raw-yuv'
self.struct.set_name('foobar')
assert self.struct.get_name() == 'foobar'
def testInt(self):
assert self.struct.has_key('width')
assert isinstance(self.struct['width'], int)
assert self.struct['width'] == 10, self.struct['width']
self.struct['width'] = 5
assert self.struct.has_key('width')
assert isinstance(self.struct['width'], int)
assert self.struct['width'] == 5, self.struct['width']
def testString(self):
assert self.struct.has_key('foo')
assert isinstance(self.struct['foo'], str)
assert self.struct['foo'] == 'bar', self.struct['foo']
self.struct['foo'] = 'baz'
assert self.struct.has_key('foo')
assert isinstance(self.struct['foo'], str)
assert self.struct['foo'] == 'baz', self.struct['foo']
def testCreateInt(self):
self.struct['integer'] = 5
assert self.struct.has_key('integer')
assert isinstance(self.struct['integer'], int)
assert self.struct['integer'] == 5, self.struct['integer']
def testCreateFourCC(self):
self.struct['fourcc'] = "(fourcc)XVID"
#assert self.struct.has_key('fourcc')
#print self.struct.to_string()
#assert isinstance(self.struct['fourcc'], int)
#assert self.struct['integer'] == 5, self.struct['integer']
def testStructureChange(self):
#assert structure['pixel-aspect-ratio'].numerator == 1
#assert structure['pixel-aspect-ratio'].denominator == 2
#assert float(structure['pixel-aspect-ratio']) == 0.5
#structure['pixel-aspect-ratio'] = gst.Fraction(3, 4)
#assert structure['pixel-aspect-ratio'].numerator == 3
#assert structure['pixel-aspect-ratio'].denominator == 4
#assert float(structure['pixel-aspect-ratio']) == 0.75
assert self.struct['framerate'] == 5.0
self.struct['framerate'] = 10.0
assert self.struct['framerate'] == 10.0
# a list of heights
#structure['height'] = (20, 40, 60)
#assert structure['width'] == (20, 40, 60)
# FIXME: add ranges
if __name__ == "__main__":
unittest.main()