testsuite/Makefile.am (check-local): distcheck fixes
authorJohan Dahlin <johan@gnome.org>
Wed, 17 Mar 2004 12:41:08 +0000 (12:41 +0000)
committerJohan Dahlin <johan@gnome.org>
Wed, 17 Mar 2004 12:41:08 +0000 (12:41 +0000)
Original commit message from CVS:
* testsuite/Makefile.am (check-local): distcheck fixes

* testsuite/common.py: Put in a couple of hacks to make distcheck
pass make check

* testsuite/interface.py: New test

ChangeLog
gst/interfacesmodule.c
testsuite/.gitignore [new file with mode: 0644]
testsuite/Makefile.am
testsuite/common.py
testsuite/interface.py [new file with mode: 0644]
testsuite/runtests.py
testsuite/test_interface.py [new file with mode: 0644]

index f63ef2e..867eb48 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2004-03-17  Johan Dahlin  <johan@gnome.org>
 
+       * testsuite/Makefile.am (check-local): distcheck fixes
+
+       * testsuite/common.py: Put in a couple of hacks to make distcheck
+       pass make check
+
+       * testsuite/interface.py: New test
+
        * gst/gst.defs: Remove unused functions.
 
        * gst/gst.override: Ditto
index 117068e..5defe84 100644 (file)
@@ -45,6 +45,7 @@ initinterfaces (void)
        pyinterfaces_add_constants (m, "GST_");
        
        if (PyErr_Occurred ()) {
-               Py_FatalError ("can't initialize module gst.interfaces");
+           PyErr_Print ();
+           Py_FatalError ("can't initialize module gst.interfaces");
        }
 }
diff --git a/testsuite/.gitignore b/testsuite/.gitignore
new file mode 100644 (file)
index 0000000..0d20b64
--- /dev/null
@@ -0,0 +1 @@
+*.pyc
index b212229..ba900d9 100644 (file)
@@ -1,10 +1,11 @@
 tests =  \
+       common.py \
        element.py \
+       interface.py \
        pipeline.py 
 
 check-local:
-       @$(PYTHON) runtests.py
+       @PYTHONPATH=$(top_builddir) $(PYTHON) $(srcdir)/runtests.py
        @rm -fr *.pyc
 
 EXTRA_DIST = $(tests) runtests.py
-
index 9c81d64..3949221 100644 (file)
@@ -1,12 +1,40 @@
-#
+import dl
 import os
 import sys
 import unittest
 
-sys.path.insert(0, '..')
+devloc = os.path.join('..', 'gst', '.libs')
+if os.path.exists(devloc):
+   sys.path.insert(0, devloc)
 
 # Load GST and make sure we load it from the current build
-import gst
+
+sys.setdlopenflags(dl.RTLD_LAZY | dl.RTLD_GLOBAL)
+
+# We're importing _gst, since we don't have access to __init__.py
+# during distcheck where builddir != srcdir
+import _gst as gst
+
+# Put the fake module in sys.modules, otherwise the C modules
+# Can't find the classes accordingly
+sys.modules['gst'] = gst
+
+try:
+    import interfaces
+    gst.interfaces = interfaces
+    sys.modules['gst.interfaces'] = interfaces
+except ImportError:
+    pass
+
+try:
+    import play
+    gst.play = play
+    sys.modules['gst.play'] = play
+except ImportError:
+    pass
+
 assert sys.modules.has_key('_gst')
 assert os.path.basename(sys.modules['_gst'].__file__), \
        os.path.join('..', 'gst', 'libs')
+
+del devloc, sys, os, dl
diff --git a/testsuite/interface.py b/testsuite/interface.py
new file mode 100644 (file)
index 0000000..41424d6
--- /dev/null
@@ -0,0 +1,20 @@
+from common import gst, unittest
+
+try:
+    from gst import interfaces
+except:
+    raise SystemExit
+
+import gobject
+
+class Availability(unittest.TestCase):
+    def testXOverlay(self):
+        assert hasattr(interfaces, 'XOverlay')
+        assert issubclass(interfaces.XOverlay, gobject.GInterface)
+
+    def testMixer(self):
+        assert hasattr(interfaces, 'Mixer')
+        assert issubclass(interfaces.Mixer, gobject.GInterface)
+
+if __name__ == "__main__":
+    unittest.main()
index 27237fb..83110d1 100644 (file)
@@ -6,7 +6,7 @@ from types import ClassType
 loader = TestLoader()
 testRunner = TextTestRunner()
 
-for name in ('element', 'pipeline'):
+for name in ('element', 'interface', 'pipeline'):
     print 'Testing', name
     tests = loader.loadTestsFromName(name)
     testRunner.run(tests)
diff --git a/testsuite/test_interface.py b/testsuite/test_interface.py
new file mode 100644 (file)
index 0000000..41424d6
--- /dev/null
@@ -0,0 +1,20 @@
+from common import gst, unittest
+
+try:
+    from gst import interfaces
+except:
+    raise SystemExit
+
+import gobject
+
+class Availability(unittest.TestCase):
+    def testXOverlay(self):
+        assert hasattr(interfaces, 'XOverlay')
+        assert issubclass(interfaces.XOverlay, gobject.GInterface)
+
+    def testMixer(self):
+        assert hasattr(interfaces, 'Mixer')
+        assert issubclass(interfaces.Mixer, gobject.GInterface)
+
+if __name__ == "__main__":
+    unittest.main()