Test some things
authorClément Stenac <zorglub@videolan.org>
Sun, 29 Jan 2006 19:13:35 +0000 (19:13 +0000)
committerClément Stenac <zorglub@videolan.org>
Sun, 29 Jan 2006 19:13:35 +0000 (19:13 +0000)
test/NativeLibvlcTest.py
test/TODO
test/native_libvlc/native_libvlc_test.c
test/test.sh

index fcef0a1..1623c70 100644 (file)
@@ -4,5 +4,9 @@ import unittest
 import native_libvlc_test
 
 class NativeLibvlcTestCase( unittest.TestCase ):
-    def testMe( self ):
-       native_libvlc_test.create_destroy()
+    def testException( self ):
+        """Checks libvlc_exception"""
+       native_libvlc_test.exception_test()
+    def testStartup( self ):
+        """Checks creation/destroy of libvlc"""
+       native_libvlc_test.create_destroy()
index b493b10..8704fdc 100644 (file)
--- a/test/TODO
+++ b/test/TODO
@@ -1,4 +1,6 @@
+* Write wrapper with output redirection / use of logger interface + log checker (look for error in log and fail if any)
+  - We can use this to test streams
 
-* Write wrapper around MediaControl with output redirection / use of logger interface + log checker (look for error in log and fail if any)
+* Invent something  for testing streams
 
-* 
+* Test stats
index 36df199..b9b056b 100644 (file)
@@ -1,8 +1,42 @@
 #include "../pyunit.h"
+#include <vlc/libvlc.h>
+
+static PyObject *exception_test( PyObject *self, PyObject *args )
+{
+     libvlc_exception_t exception;
+
+     libvlc_exception_init( &exception );
+     ASSERT( !libvlc_exception_raised( &exception) , "Exception raised" );
+     ASSERT( !libvlc_exception_get_message( &exception) , "Exception raised" );
+
+     libvlc_exception_raise( &exception, NULL );
+     ASSERT( !libvlc_exception_get_message( &exception), "Unexpected message" );
+     ASSERT( libvlc_exception_raised( &exception), "Exception not raised" );
+
+     libvlc_exception_raise( &exception, "test" );
+     ASSERT( libvlc_exception_get_message( &exception), "No Message" );
+     ASSERT( libvlc_exception_raised( &exception), "Exception not raised" );
+
+     Py_INCREF( Py_None );
+     return Py_None;
+}
 
 static PyObject *create_destroy( PyObject *self, PyObject *args )
 {
-     /* Test stuff here */
+     libvlc_instance_t *p_instance;
+     char *argv[] = {};
+
+     libvlc_exception_t exception;
+     libvlc_exception_init( &exception );
+
+     p_instance = libvlc_new( 0, argv, &exception );
+
+     ASSERT( p_instance != NULL, "Instance creation failed" );
+
+     ASSERT( !libvlc_exception_raised( &exception ),
+             "Exception raised while creating instance" );
+
+     libvlc_destroy( p_instance );
      
      Py_INCREF( Py_None );
      return Py_None;
@@ -10,6 +44,7 @@ static PyObject *create_destroy( PyObject *self, PyObject *args )
 
 static PyMethodDef native_libvlc_test_methods[] = {
    DEF_METHOD( create_destroy, "Create and destroy" )
+   DEF_METHOD( exception_test, "Test Exception handling" )
    { NULL, NULL, 0, NULL }
 };
 
index 9981fa7..e5d5663 100755 (executable)
@@ -1,6 +1,5 @@
 #! /bin/sh
 
-# FIXME - Get real .so
 cd ..
 export PYTHONPATH=$PYTHONPATH:bindings/python/build/lib.linux-i686-2.3:test/build/lib.linux-i686-2.3