virtio-9p-test.c 1.1 KB
Newer Older
A
Andreas Färber 已提交
1 2 3 4 5 6 7 8 9
/*
 * QTest testcase for VirtIO 9P
 *
 * Copyright (c) 2014 SUSE LINUX Products GmbH
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 * See the COPYING file in the top-level directory.
 */

P
Peter Maydell 已提交
10
#include "qemu/osdep.h"
A
Andreas Färber 已提交
11 12 13
#include "libqtest.h"
#include "qemu-common.h"

14 15
static const char mount_tag[] = "qtest";
static char *test_share;
A
Andreas Färber 已提交
16

17
static void qvirtio_9p_start(void)
A
Andreas Färber 已提交
18 19 20
{
    char *args;

21 22
    test_share = g_strdup("/tmp/qtest.XXXXXX");
    g_assert_nonnull(mkdtemp(test_share));
A
Andreas Färber 已提交
23 24

    args = g_strdup_printf("-fsdev local,id=fsdev0,security_model=none,path=%s "
25 26 27
                           "-device virtio-9p-pci,fsdev=fsdev0,mount_tag=%s",
                           test_share, mount_tag);

A
Andreas Färber 已提交
28 29
    qtest_start(args);
    g_free(args);
30
}
A
Andreas Färber 已提交
31

32 33
static void qvirtio_9p_stop(void)
{
A
Andreas Färber 已提交
34 35
    qtest_end();
    rmdir(test_share);
36 37 38 39 40 41 42 43 44 45 46 47 48
    g_free(test_share);
}

static void pci_nop(void)
{
    qvirtio_9p_start();
    qvirtio_9p_stop();
}

int main(int argc, char **argv)
{
    g_test_init(&argc, &argv, NULL);
    qtest_add_func("/virtio/9p/pci/nop", pci_nop);
A
Andreas Färber 已提交
49

50
    return g_test_run();
A
Andreas Färber 已提交
51
}