mediastreamer2_tester.h 2.27 KB
Newer Older
Ghislain MARY's avatar
Ghislain MARY committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
mediastreamer2 library - modular sound and video processing and streaming
Copyright (C) 2006-2013 Belledonne Communications, Grenoble

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

#ifndef _MEDIASTREAMER2_TESTER_H
#define _MEDIASTREAMER2_TESTER_H


24
#include "CUnit/Basic.h"
25 26
#include <mediastreamer2/mediastream.h>

27 28


Ghislain MARY's avatar
Ghislain MARY committed
29 30 31 32 33 34 35 36 37 38
typedef void (*test_function_t)(void);
typedef int (*test_suite_function_t)(const char *name);

typedef struct {
	const char *name;
	test_function_t func;
} test_t;

typedef struct {
	const char *name;
39 40
	CU_InitializeFunc init_func;
	CU_CleanupFunc cleanup_func;
41
	int nb_tests;
Ghislain MARY's avatar
Ghislain MARY committed
42 43 44 45
	test_t *tests;
} test_suite_t;


46 47 48 49
#ifdef __cplusplus
extern "C" {
#endif

Ghislain MARY's avatar
Ghislain MARY committed
50 51
extern test_suite_t basic_audio_test_suite;
extern test_suite_t sound_card_test_suite;
jehan's avatar
jehan committed
52
extern test_suite_t audio_stream_test_suite;
53
extern test_suite_t video_stream_test_suite;
54
extern test_suite_t framework_test_suite;
55 56


57 58 59 60 61

bool_t wait_for_list(MSList* mss,int* counter,int value,int timeout_ms);
bool_t wait_for_until(MediaStream* ms_1, MediaStream* ms_2,int* counter,int value,int timeout);
bool_t wait_for(MediaStream* ms_1, MediaStream* ms_2,int* counter,int value);

Ghislain MARY's avatar
Ghislain MARY committed
62 63 64 65 66 67 68
extern int mediastreamer2_tester_nb_test_suites(void);
extern int mediastreamer2_tester_nb_tests(const char *suite_name);
extern const char * mediastreamer2_tester_test_suite_name(int suite_index);
extern const char * mediastreamer2_tester_test_name(const char *suite_name, int test_index);
extern void mediastreamer2_tester_init(void);
extern void mediastreamer2_tester_uninit(void);
extern int mediastreamer2_tester_run_tests(const char *suite_name, const char *test_name);
Ghislain MARY's avatar
Ghislain MARY committed
69 70


71 72 73
#ifdef __cplusplus
};
#endif
Ghislain MARY's avatar
Ghislain MARY committed
74 75 76


#endif /* _MEDIASTREAMER2_TESTER_H */