xref: /qemu/tests/unit/test-io-channel-buffer.c (revision 0b8fa32f551e863bb548a11394239239270dd3dc)
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 
21681c28a3SPeter Maydell #include "qemu/osdep.h"
22d98e4eb7SDaniel P. Berrange #include "io/channel-buffer.h"
23*0b8fa32fSMarkus Armbruster #include "qemu/module.h"
24d98e4eb7SDaniel P. Berrange #include "io-channel-helpers.h"
25d98e4eb7SDaniel P. Berrange 
26d98e4eb7SDaniel P. Berrange 
27d98e4eb7SDaniel P. Berrange static void test_io_channel_buf(void)
28d98e4eb7SDaniel P. Berrange {
29d98e4eb7SDaniel P. Berrange     QIOChannelBuffer *buf;
30d98e4eb7SDaniel P. Berrange     QIOChannelTest *test;
31d98e4eb7SDaniel P. Berrange 
32d98e4eb7SDaniel P. Berrange     buf = qio_channel_buffer_new(0);
33d98e4eb7SDaniel P. Berrange 
34d98e4eb7SDaniel P. Berrange     test = qio_channel_test_new();
35d98e4eb7SDaniel P. Berrange     qio_channel_test_run_writer(test, QIO_CHANNEL(buf));
36d98e4eb7SDaniel P. Berrange     buf->offset = 0;
37d98e4eb7SDaniel P. Berrange     qio_channel_test_run_reader(test, QIO_CHANNEL(buf));
38d98e4eb7SDaniel P. Berrange     qio_channel_test_validate(test);
39d98e4eb7SDaniel P. Berrange 
40d98e4eb7SDaniel P. Berrange     object_unref(OBJECT(buf));
41d98e4eb7SDaniel P. Berrange }
42d98e4eb7SDaniel P. Berrange 
43d98e4eb7SDaniel P. Berrange 
44d98e4eb7SDaniel P. Berrange int main(int argc, char **argv)
45d98e4eb7SDaniel P. Berrange {
46d98e4eb7SDaniel P. Berrange     module_call_init(MODULE_INIT_QOM);
47d98e4eb7SDaniel P. Berrange 
48d98e4eb7SDaniel P. Berrange     g_test_init(&argc, &argv, NULL);
49d98e4eb7SDaniel P. Berrange 
50d98e4eb7SDaniel P. Berrange     g_test_add_func("/io/channel/buf", test_io_channel_buf);
51d98e4eb7SDaniel P. Berrange     return g_test_run();
52d98e4eb7SDaniel P. Berrange }
53