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 "libqos/virtio-serial.h"
  13
  14/* Tests only initialization so far. TODO: Replace with functional tests */
  15static void virtio_serial_nop(void *obj, void *data, QGuestAllocator *alloc)
  16{
  17    /* no operation */
  18}
  19
  20static void serial_hotplug(void *obj, void *data, QGuestAllocator *alloc)
  21{
  22    qtest_qmp_device_add("virtserialport", "hp-port", "{}");
  23    qtest_qmp_device_del("hp-port");
  24}
  25
  26static void register_virtio_serial_test(void)
  27{
  28    QOSGraphTestOptions opts = { };
  29
  30    opts.edge.before_cmd_line = "-device virtconsole,bus=vser0.0";
  31    qos_add_test("console-nop", "virtio-serial", virtio_serial_nop, &opts);
  32
  33    opts.edge.before_cmd_line = "-device virtserialport,bus=vser0.0";
  34    qos_add_test("serialport-nop", "virtio-serial", virtio_serial_nop, &opts);
  35
  36    qos_add_test("hotplug", "virtio-serial", serial_hotplug, NULL);
  37}
  38libqos_init(register_virtio_serial_test);
  39