1/*** 2 This file is part of PulseAudio. 3 4 PulseAudio is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as published 6 by the Free Software Foundation; either version 2.1 of the License, 7 or (at your option) any later version. 8 9 PulseAudio is distributed in the hope that it will be useful, but 10 WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public License 15 along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. 16***/ 17 18#ifdef HAVE_CONFIG_H 19#include <config.h> 20#endif 21 22#include <assert.h> 23#include <stdlib.h> 24#include <unistd.h> 25 26#include <check.h> 27 28#include <pulsecore/queue.h> 29#include <pulsecore/log.h> 30#include <pulsecore/macro.h> 31 32START_TEST (queue_test) { 33 pa_queue *q; 34 35 q = pa_queue_new(); 36 fail_unless(q != NULL); 37 38 fail_unless(pa_queue_isempty(q)); 39 40 pa_queue_push(q, (void*) "eins"); 41 pa_log("%s\n", (char*) pa_queue_pop(q)); 42 43 fail_unless(pa_queue_isempty(q)); 44 45 pa_queue_push(q, (void*) "zwei"); 46 pa_queue_push(q, (void*) "drei"); 47 pa_queue_push(q, (void*) "vier"); 48 49 pa_log("%s\n", (char*) pa_queue_pop(q)); 50 pa_log("%s\n", (char*) pa_queue_pop(q)); 51 52 pa_queue_push(q, (void*) "fuenf"); 53 54 pa_log("%s\n", (char*) pa_queue_pop(q)); 55 pa_log("%s\n", (char*) pa_queue_pop(q)); 56 57 fail_unless(pa_queue_isempty(q)); 58 59 pa_queue_push(q, (void*) "sechs"); 60 pa_queue_push(q, (void*) "sieben"); 61 62 pa_queue_free(q, NULL); 63} 64END_TEST 65 66int main(int argc, char *argv[]) { 67 int failed = 0; 68 Suite *s; 69 TCase *tc; 70 SRunner *sr; 71 72 s = suite_create("Queue"); 73 tc = tcase_create("queue"); 74 tcase_add_test(tc, queue_test); 75 suite_add_tcase(s, tc); 76 77 sr = srunner_create(s); 78 srunner_run_all(sr, CK_NORMAL); 79 failed = srunner_ntests_failed(sr); 80 srunner_free(sr); 81 82 return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 83} 84