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