test.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

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