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
9*c8198bd5SChetan Pant * version 2.1 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"
230b8fa32fSMarkus Armbruster #include "qemu/module.h"
24d98e4eb7SDaniel P. Berrange #include "io-channel-helpers.h"
25d98e4eb7SDaniel P. Berrange
26d98e4eb7SDaniel P. Berrange
test_io_channel_buf(void)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
main(int argc,char ** argv)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