xref: /qemu/tests/unit/test-io-channel-buffer.c (revision d98e4eb7de93290f7921b0dbe869c7dd3c567945)
1*d98e4eb7SDaniel P. Berrange /*
2*d98e4eb7SDaniel P. Berrange  * QEMU I/O channel buffer test
3*d98e4eb7SDaniel P. Berrange  *
4*d98e4eb7SDaniel P. Berrange  * Copyright (c) 2015 Red Hat, Inc.
5*d98e4eb7SDaniel P. Berrange  *
6*d98e4eb7SDaniel P. Berrange  * This library is free software; you can redistribute it and/or
7*d98e4eb7SDaniel P. Berrange  * modify it under the terms of the GNU Lesser General Public
8*d98e4eb7SDaniel P. Berrange  * License as published by the Free Software Foundation; either
9*d98e4eb7SDaniel P. Berrange  * version 2 of the License, or (at your option) any later version.
10*d98e4eb7SDaniel P. Berrange  *
11*d98e4eb7SDaniel P. Berrange  * This library is distributed in the hope that it will be useful,
12*d98e4eb7SDaniel P. Berrange  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*d98e4eb7SDaniel P. Berrange  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14*d98e4eb7SDaniel P. Berrange  * Lesser General Public License for more details.
15*d98e4eb7SDaniel P. Berrange  *
16*d98e4eb7SDaniel P. Berrange  * You should have received a copy of the GNU Lesser General Public
17*d98e4eb7SDaniel P. Berrange  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18*d98e4eb7SDaniel P. Berrange  *
19*d98e4eb7SDaniel P. Berrange  */
20*d98e4eb7SDaniel P. Berrange 
21*d98e4eb7SDaniel P. Berrange #include "io/channel-buffer.h"
22*d98e4eb7SDaniel P. Berrange #include "io-channel-helpers.h"
23*d98e4eb7SDaniel P. Berrange 
24*d98e4eb7SDaniel P. Berrange 
25*d98e4eb7SDaniel P. Berrange static void test_io_channel_buf(void)
26*d98e4eb7SDaniel P. Berrange {
27*d98e4eb7SDaniel P. Berrange     QIOChannelBuffer *buf;
28*d98e4eb7SDaniel P. Berrange     QIOChannelTest *test;
29*d98e4eb7SDaniel P. Berrange 
30*d98e4eb7SDaniel P. Berrange     buf = qio_channel_buffer_new(0);
31*d98e4eb7SDaniel P. Berrange 
32*d98e4eb7SDaniel P. Berrange     test = qio_channel_test_new();
33*d98e4eb7SDaniel P. Berrange     qio_channel_test_run_writer(test, QIO_CHANNEL(buf));
34*d98e4eb7SDaniel P. Berrange     buf->offset = 0;
35*d98e4eb7SDaniel P. Berrange     qio_channel_test_run_reader(test, QIO_CHANNEL(buf));
36*d98e4eb7SDaniel P. Berrange     qio_channel_test_validate(test);
37*d98e4eb7SDaniel P. Berrange 
38*d98e4eb7SDaniel P. Berrange     object_unref(OBJECT(buf));
39*d98e4eb7SDaniel P. Berrange }
40*d98e4eb7SDaniel P. Berrange 
41*d98e4eb7SDaniel P. Berrange 
42*d98e4eb7SDaniel P. Berrange int main(int argc, char **argv)
43*d98e4eb7SDaniel P. Berrange {
44*d98e4eb7SDaniel P. Berrange     module_call_init(MODULE_INIT_QOM);
45*d98e4eb7SDaniel P. Berrange 
46*d98e4eb7SDaniel P. Berrange     g_test_init(&argc, &argv, NULL);
47*d98e4eb7SDaniel P. Berrange 
48*d98e4eb7SDaniel P. Berrange     g_test_add_func("/io/channel/buf", test_io_channel_buf);
49*d98e4eb7SDaniel P. Berrange     return g_test_run();
50*d98e4eb7SDaniel P. Berrange }
51