Switch API smoke test to libvlc API
authorRémi Denis-Courmont <rem@videolan.org>
Sun, 21 Oct 2007 08:09:02 +0000 (08:09 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sun, 21 Oct 2007 08:09:02 +0000 (08:09 +0000)
include/vlc/libvlc.h
src/control/core.c
src/control/testapi.c

index 0edc26c..72627c2 100644 (file)
@@ -107,7 +107,8 @@ libvlc_exception_get_message( const libvlc_exception_t *p_exception );
  * \param argv command-line-type arguments
  * \param exception an initialized exception pointer
  */
-VLC_PUBLIC_API libvlc_instance_t * libvlc_new( int , char **, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_instance_t *
+libvlc_new( int , const char *const *, libvlc_exception_t *);
 
 /**
  * Returns a libvlc instance identifier for legacy APIs. Use of this
index 304fdb0..a079e2e 100644 (file)
@@ -79,7 +79,7 @@ void libvlc_exception_raise( libvlc_exception_t *p_exception,
     p_exception->b_raised = 1;
 }
 
-libvlc_instance_t * libvlc_new( int argc, char **argv,
+libvlc_instance_t * libvlc_new( int argc, const char *const *argv,
                                 libvlc_exception_t *p_e )
 {
     libvlc_instance_t *p_new;
index 80cc0e2..96887ba 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * testapi.c - libvlc-control smoke test
+ * testapi.c - libvlc smoke test
  *
  * $Id$
  */
  *  http://www.gnu.org/copyleft/gpl.html                              *
  **********************************************************************/
 
-#include <vlc/mediacontrol.h>
+#include <vlc/libvlc.h>
 
 #undef NDEBUG
 #include <assert.h>
 
-int main (int argc, char *argv[])
-{
-    mediacontrol_Exception ex;
-    mediacontrol_Instance *mc, *mc2;
-    libvlc_instance_t *vlc;
-
-    mediacontrol_exception_init (&ex);
-    mc = mediacontrol_new (argc, argv, &ex);
-    assert (mc);
-    assert (!ex.code);
-    mediacontrol_exception_cleanup (&ex);
-
-    /* Duplication test */
-    vlc = mediacontrol_get_libvlc_instance (mc);
-    assert (vlc);
-    assert (!ex.code);
-
-    mediacontrol_exception_init (&ex);
-    mc2 = mediacontrol_new_from_instance (vlc, &ex);
-    assert (mc2);
-    assert (!ex.code);
-    mediacontrol_exception_cleanup (&ex);
+#include <stdio.h>
+#include <stdlib.h>
 
-    //mediacontrol_exit (mc2);
+static libvlc_exception_t ex;
 
-    /* Input tests */
-    mediacontrol_exception_init (&ex);
-    mediacontrol_resume (mc, NULL, &ex);
-    assert (ex.code); /* should fail: we have no input */
-    mediacontrol_exception_cleanup (&ex);
-
-    mediacontrol_exception_init (&ex);
-    mediacontrol_pause (mc, NULL, &ex);
-    assert (ex.code); /* should fail: we have no input */
-    mediacontrol_exception_cleanup (&ex);
+static void catch (void)
+{
+    if (libvlc_exception_raised (&ex))
+    {
+         fprintf (stderr, "Exception: %s\n",
+                  libvlc_exception_get_message (&ex));
+         abort ();
+    }
 
-    mediacontrol_exception_init (&ex);
-    mediacontrol_stop (mc, NULL, &ex);
-    mediacontrol_exception_cleanup (&ex);
+    assert (libvlc_exception_get_message (&ex) == NULL);
+    libvlc_exception_clear (&ex);
+}
 
-    /* Playlist tests */
-    mediacontrol_exception_init (&ex);
-    mediacontrol_playlist_clear (mc, &ex);
-    assert (!ex.code);
-    mediacontrol_exception_cleanup (&ex);
+int main (int argc, char *argv[])
+{
+    libvlc_instance_t *vlc;
+    const char *args[argc + 3];
 
-    mediacontrol_exception_init (&ex);
-    mediacontrol_playlist_add_item (mc, "/dev/null", &ex);
-    mediacontrol_exception_cleanup (&ex);
+    args[0] = "-I";
+    args[1] = "dummy";
+    args[2] = "-vvv";
+    args[3] = "--plugin-path=..";
+    for (int i = 1; i < argc; i++)
+        args[i + 3] = argv[i];
 
-    mediacontrol_exception_init (&ex);
-    mediacontrol_playlist_clear (mc, &ex);
-    assert (!ex.code);
-    mediacontrol_exception_cleanup (&ex);
+    libvlc_exception_init (&ex);
+    vlc = libvlc_new (sizeof (args) / sizeof (args[0]), args, &ex);
+    catch ();
 
-    mediacontrol_exit (mc);
+    libvlc_destroy (vlc, &ex);
+    catch ();
     return 0;
 }