qemu/tests/e1000-test.c
<<
>>
Prefs
   1/*
   2 * QTest testcase for e1000 NIC
   3 *
   4 * Copyright (c) 2013-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 <glib.h>
  12#include "libqtest.h"
  13
  14/* Tests only initialization so far. TODO: Replace with functional tests */
  15static void test_device(gconstpointer data)
  16{
  17    const char *model = data;
  18    QTestState *s;
  19    char *args;
  20
  21    args = g_strdup_printf("-device %s", model);
  22    s = qtest_start(args);
  23
  24    if (s) {
  25        qtest_quit(s);
  26    }
  27    g_free(args);
  28}
  29
  30static const char *models[] = {
  31    "e1000",
  32    "e1000-82540em",
  33    "e1000-82544gc",
  34    "e1000-82545em",
  35};
  36
  37int main(int argc, char **argv)
  38{
  39    int i;
  40
  41    g_test_init(&argc, &argv, NULL);
  42
  43    for (i = 0; i < ARRAY_SIZE(models); i++) {
  44        char *path;
  45
  46        path = g_strdup_printf("e1000/%s", models[i]);
  47        qtest_add_data_func(path, models[i], test_device);
  48    }
  49
  50    return g_test_run();
  51}
  52