From 0a37fd1928f1d53e183dd61d308344e281f52380 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Tue, 13 Jul 2004 09:00:07 +0000 Subject: [PATCH] testsuite/event.py (EventFileSrcTest.setUp): Start the pipeline, so we don't get warnings when sending events Original commit message from CVS: * testsuite/event.py (EventFileSrcTest.setUp): Start the pipeline, so we don't get warnings when sending events (EventTest.setUp): Ditto. * testsuite/pad.py: New test, only testing simple pad queries so far. * testsuite/Makefile.am (tests): Add missing tests * gst/gst.override (_wrap_gst_pad_query): Raise RuntimeError if the return value is False and only return the queried value. --- ChangeLog | 13 +++++++++++++ common | 2 +- gst/gst.override | 8 +++++++- testsuite/Makefile.am | 9 ++++++--- testsuite/event.py | 2 ++ testsuite/pad.py | 16 ++++++++++++++++ testsuite/test_pad.py | 16 ++++++++++++++++ 7 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 testsuite/pad.py create mode 100644 testsuite/test_pad.py diff --git a/ChangeLog b/ChangeLog index 6b3e4d4..0e95a03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-07-13 Johan Dahlin + + * testsuite/event.py (EventFileSrcTest.setUp): Start the pipeline, + so we don't get warnings when sending events + (EventTest.setUp): Ditto. + + * testsuite/pad.py: New test, only testing simple pad queries so far. + + * testsuite/Makefile.am (tests): Add missing tests + + * gst/gst.override (_wrap_gst_pad_query): Raise RuntimeError if + the return value is False and only return the queried value. + 2004-07-02 David Schleef * configure.ac: Correctly check for XML tools. Correctly set diff --git a/common b/common index 1af22af..8f16cd2 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 1af22afdec71295108f882c828e08f10d8a3e94b +Subproject commit 8f16cd236828a8bb7be51696029e0e24b7a6c517 diff --git a/gst/gst.override b/gst/gst.override index 00a152d..2b1bc87 100644 --- a/gst/gst.override +++ b/gst/gst.override @@ -179,9 +179,15 @@ _wrap_gst_pad_query(PyGObject *self, PyObject *args, PyObject *kwargs) if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstPad.query", kwlist, &type, &format)) return NULL; + value = 0; ret = gst_pad_query(GST_PAD(self->obj), type, &format, &value); - return Py_BuildValue("(bL)", ret, value); + if (!ret) { + PyErr_SetString(PyExc_RuntimeError, "query could not be performed"); + return NULL; + } + + return PyInt_FromLong(value); } %% override gst_element_query kwargs diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 07466d6..82a1e72 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -1,9 +1,12 @@ tests = \ - caps.py \ + buffer.py \ + caps.py \ common.py \ element.py \ - interface.py \ - pipeline.py + event.py \ + interface.py \ + pad.py \ + pipeline.py check-local: @PYTHONPATH=$(top_builddir):$(top_builddir)/gst/.libs $(PYTHON) $(srcdir)/runtests.py diff --git a/testsuite/event.py b/testsuite/event.py index d6887e6..cfd4ef3 100644 --- a/testsuite/event.py +++ b/testsuite/event.py @@ -6,6 +6,7 @@ class EventTest(unittest.TestCase): def setUp(self): pipeline = gst.parse_launch('fakesrc ! fakesink name=sink') self.sink = pipeline.get_by_name('sink') + pipeline.set_state(gst.STATE_PLAYING) def testEventEmpty(self): event = gst.Event(gst.EVENT_EMPTY) @@ -26,6 +27,7 @@ class EventFileSrcTest(unittest.TestCase): self.source = self.pipeline.get_by_name('source') self.sink = self.pipeline.get_by_name('sink') self.sink.connect('handoff', self.handoff_cb) + self.pipeline.set_state(gst.STATE_PLAYING) def tearDown(self): assert self.pipeline.set_state(gst.STATE_PLAYING) diff --git a/testsuite/pad.py b/testsuite/pad.py new file mode 100644 index 0000000..6d04e32 --- /dev/null +++ b/testsuite/pad.py @@ -0,0 +1,16 @@ +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() + diff --git a/testsuite/test_pad.py b/testsuite/test_pad.py new file mode 100644 index 0000000..6d04e32 --- /dev/null +++ b/testsuite/test_pad.py @@ -0,0 +1,16 @@ +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() + -- 2.7.4