Commit 508d87e6 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont
Browse files

Switch API smoke test to libvlc API

parent 4a2ded0b
......@@ -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
......
......@@ -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;
......
/*
* testapi.c - libvlc-control smoke test
* testapi.c - libvlc smoke test
*
* $Id$
*/
......@@ -21,66 +21,46 @@
* 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;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment