From 508d87e61db2f470c2b4129e40df8ebc6c8a9737 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 21 Oct 2007 08:09:02 +0000 Subject: [PATCH] Switch API smoke test to libvlc API --- include/vlc/libvlc.h | 3 +- src/control/core.c | 2 +- src/control/testapi.c | 82 ++++++++++++++++--------------------------- 3 files changed, 34 insertions(+), 53 deletions(-) diff --git a/include/vlc/libvlc.h b/include/vlc/libvlc.h index 0edc26cf51..72627c2314 100644 --- a/include/vlc/libvlc.h +++ b/include/vlc/libvlc.h @@ -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 diff --git a/src/control/core.c b/src/control/core.c index 304fdb0dac..a079e2e6bf 100644 --- a/src/control/core.c +++ b/src/control/core.c @@ -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; diff --git a/src/control/testapi.c b/src/control/testapi.c index 80cc0e28d8..96887baab3 100644 --- a/src/control/testapi.c +++ b/src/control/testapi.c @@ -1,5 +1,5 @@ /* - * testapi.c - libvlc-control smoke test + * testapi.c - libvlc smoke test * * $Id$ */ @@ -21,66 +21,46 @@ * http://www.gnu.org/copyleft/gpl.html * **********************************************************************/ -#include +#include #undef NDEBUG #include -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 +#include - //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; } -- 2.39.2