Provide a dummy (empty) but valid sample file
[vlc.git] / test / libvlc / test.h
1 /*
2  * test.h - libvlc smoke test common definitions
3  *
4  * $Id$
5  */
6
7 /**********************************************************************
8  *  Copyright (C) 2007 RĂ©mi Denis-Courmont.                           *
9  *  Copyright (C) 2008 Pierre d'Herbemont.                            *
10  *  This program is free software; you can redistribute and/or modify *
11  *  it under the terms of the GNU General Public License as published *
12  *  by the Free Software Foundation; version 2 of the license, or (at *
13  *  your option) any later version.                                   *
14  *                                                                    *
15  *  This program is distributed in the hope that it will be useful,   *
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of    *
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.              *
18  *  See the GNU General Public License for more details.              *
19  *                                                                    *
20  *  You should have received a copy of the GNU General Public License *
21  *  along with this program; if not, you can get it from:             *
22  *  http://www.gnu.org/copyleft/gpl.html                              *
23  **********************************************************************/
24
25 #ifndef TEST_H
26 #define TEST_H
27
28 /*********************************************************************
29  * Some useful common headers
30  */
31
32 #ifdef HAVE_CONFIG_H
33 # include "config.h"
34 #endif
35 #include <vlc/vlc.h>
36
37 #undef NDEBUG
38 #include <assert.h>
39
40 #include <stdio.h>
41 #include <stdlib.h>
42 #include <stdbool.h>
43 #include <unistd.h>
44
45
46 /*********************************************************************
47  * Some useful global var
48  */
49 static libvlc_exception_t ex;
50
51 static const char * test_defaults_args[] = {
52     "-vvv",
53     "--ignore-config",
54     "-I",
55     "dummy",
56     "--no-media-library",
57     "--plugin-path=../modules",
58     "--vout=dummy",
59     "--aout=dummy"
60 };
61
62 static const int test_defaults_nargs =
63     sizeof (test_defaults_args) / sizeof (test_defaults_args[0]);
64
65 /*static const char test_default_sample[] = "samples/test.sample";*/
66 static const char test_default_sample[] = SRCDIR"/samples/empty.voc";
67
68
69 /*********************************************************************
70  * Some useful common functions
71  */
72
73 #define log( ... ) printf( "testapi: " __VA_ARGS__ );
74
75 /* test if we have exception */
76 static inline bool have_exception (void)
77 {
78     if (libvlc_exception_raised (&ex))
79     {
80         libvlc_exception_clear (&ex);
81         return true;
82     }
83     else
84         return false;
85 }
86
87 static inline void catch (void)
88 {
89     if (libvlc_exception_raised (&ex))
90     {
91          fprintf (stderr, "Exception: %s\n",
92                   libvlc_exception_get_message (&ex));
93          abort ();
94     }
95
96     assert (libvlc_exception_get_message (&ex) == NULL);
97     libvlc_exception_clear (&ex);
98 }
99
100 static inline void test_init (void)
101 {
102     (void)test_default_sample; /* This one may not be used */
103     alarm (50); /* Make sure "make check" does not get stuck */
104 }
105
106 #endif /* TEST_H */