qemu/tests/virtio-serial-test.c
<<
>>
Prefs
   1/*
   2 * QTest testcase for VirtIO Serial
   3 *
   4 * Copyright (c) 2014 SUSE LINUX Products GmbH
   5 *
   6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
   7 * See the COPYING file in the top-level directory.
   8 */
   9
  10#include "qemu/osdep.h"
  11#include "libqtest.h"
  12#include "qemu/module.h"
  13#include "libqos/virtio-serial.h"
  14
  15/* Tests only initialization so far. TODO: Replace with functional tests */
  16static void virtio_serial_nop(void *obj, void *data, QGuestAllocator *alloc)
  17{
  18    /* no operation */
  19}
  20
  21static void serial_hotplug(void *obj, void *data, QGuestAllocator *alloc)
  22{
  23    qtest_qmp_device_add("virtserialport", "hp-port", "{}");
  24    qtest_qmp_device_del("hp-port");
  25}
  26
  27static void register_virtio_serial_test(void)
  28{
  29    QOSGraphTestOptions opts = { };
  30
  31    opts.edge.before_cmd_line = "-device virtconsole,bus=vser0.0";
  32    qos_add_test("console-nop", "virtio-serial", virtio_serial_nop, &opts);
  33
  34    opts.edge.before_cmd_line = "-device virtserialport,bus=vser0.0";
  35    qos_add_test("serialport-nop", "virtio-serial", virtio_serial_nop, &opts);
  36
  37    qos_add_test("hotplug", "virtio-serial", serial_hotplug, NULL);
  38}
  39libqos_init(register_virtio_serial_test);
  40