Commit 805017b7 authored by Eric Blake's avatar Eric Blake Committed by Markus Armbruster
Browse files

qapi: Clean up test coverage of simple unions



The tests of UserDefNativeListUnion serve to validate code
generation of simple unions without a base type, except that it
did not have full coverage in the strict test.  The next commits
will remove tests and support for simple unions with a base type,
so there is no real loss at repurposing that test here as
opposed to churn of adding a new test then deleting the old one.

Fix some indentation and long lines while at it.

Signed-off-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
parent 3d0c4829
Loading
Loading
Loading
Loading
+29 −28
Original line number Diff line number Diff line
/*
 * QMP Input Visitor unit-tests (strict mode).
 *
 * Copyright (C) 2011-2012 Red Hat Inc.
 * Copyright (C) 2011-2012, 2015 Red Hat Inc.
 *
 * Authors:
 *  Luiz Capitulino <lcapitulino@redhat.com>
@@ -141,18 +141,18 @@ static void test_validate_list(TestInputVisitorData *data,
    qapi_free_UserDefOneList(head);
}

static void test_validate_union(TestInputVisitorData *data,
static void test_validate_union_native_list(TestInputVisitorData *data,
                                            const void *unused)
{
    UserDefUnion *tmp = NULL;
    UserDefNativeListUnion *tmp = NULL;
    Visitor *v;
    Error *err = NULL;

    v = validate_test_init(data, "{ 'type': 'b', 'integer': 41, 'data' : { 'integer': 42 } }");
    v = validate_test_init(data, "{ 'type': 'integer', 'data' : [ 1, 2 ] }");

    visit_type_UserDefUnion(v, &tmp, NULL, &err);
    visit_type_UserDefNativeListUnion(v, &tmp, NULL, &err);
    g_assert(!err);
    qapi_free_UserDefUnion(tmp);
    qapi_free_UserDefNativeListUnion(tmp);
}

static void test_validate_union_flat(TestInputVisitorData *data,
@@ -232,18 +232,19 @@ static void test_validate_fail_list(TestInputVisitorData *data,
    qapi_free_UserDefOneList(head);
}

static void test_validate_fail_union(TestInputVisitorData *data,
static void test_validate_fail_union_native_list(TestInputVisitorData *data,
                                                 const void *unused)
{
    UserDefUnion *tmp = NULL;
    UserDefNativeListUnion *tmp = NULL;
    Error *err = NULL;
    Visitor *v;

    v = validate_test_init(data, "{ 'type': 'b', 'data' : { 'integer': 42 } }");
    v = validate_test_init(data,
                           "{ 'type': 'integer', 'data' : [ 'string' ] }");

    visit_type_UserDefUnion(v, &tmp, NULL, &err);
    visit_type_UserDefNativeListUnion(v, &tmp, NULL, &err);
    g_assert(err);
    qapi_free_UserDefUnion(tmp);
    qapi_free_UserDefNativeListUnion(tmp);
}

static void test_validate_fail_union_flat(TestInputVisitorData *data,
@@ -309,26 +310,26 @@ int main(int argc, char **argv)
                      &testdata, test_validate_struct_nested);
    validate_test_add("/visitor/input-strict/pass/list",
                      &testdata, test_validate_list);
    validate_test_add("/visitor/input-strict/pass/union",
                       &testdata, test_validate_union);
    validate_test_add("/visitor/input-strict/pass/union-flat",
                      &testdata, test_validate_union_flat);
    validate_test_add("/visitor/input-strict/pass/union-anon",
                      &testdata, test_validate_union_anon);
    validate_test_add("/visitor/input-strict/pass/union-native-list",
                      &testdata, test_validate_union_native_list);
    validate_test_add("/visitor/input-strict/fail/struct",
                      &testdata, test_validate_fail_struct);
    validate_test_add("/visitor/input-strict/fail/struct-nested",
                      &testdata, test_validate_fail_struct_nested);
    validate_test_add("/visitor/input-strict/fail/list",
                      &testdata, test_validate_fail_list);
    validate_test_add("/visitor/input-strict/fail/union",
                       &testdata, test_validate_fail_union);
    validate_test_add("/visitor/input-strict/fail/union-flat",
                      &testdata, test_validate_fail_union_flat);
    validate_test_add("/visitor/input-strict/fail/union-flat-no-discriminator",
                      &testdata, test_validate_fail_union_flat_no_discrim);
    validate_test_add("/visitor/input-strict/fail/union-anon",
                      &testdata, test_validate_fail_union_anon);
    validate_test_add("/visitor/input-strict/fail/union-native-list",
                      &testdata, test_validate_fail_union_native_list);

    g_test_run();

+32 −29
Original line number Diff line number Diff line
/*
 * QMP Input Visitor unit-tests.
 *
 * Copyright (C) 2011 Red Hat Inc.
 * Copyright (C) 2011, 2015 Red Hat Inc.
 *
 * Authors:
 *  Luiz Capitulino <lcapitulino@redhat.com>
@@ -712,13 +712,16 @@ int main(int argc, char **argv)
                           &in_visitor_data,
                           test_visitor_in_native_list_uint32);
    input_visitor_test_add("/visitor/input/native_list/uint64",
                            &in_visitor_data, test_visitor_in_native_list_uint64);
                           &in_visitor_data,
                           test_visitor_in_native_list_uint64);
    input_visitor_test_add("/visitor/input/native_list/bool",
                           &in_visitor_data, test_visitor_in_native_list_bool);
    input_visitor_test_add("/visitor/input/native_list/str",
                            &in_visitor_data, test_visitor_in_native_list_string);
                           &in_visitor_data,
                           test_visitor_in_native_list_string);
    input_visitor_test_add("/visitor/input/native_list/number",
                            &in_visitor_data, test_visitor_in_native_list_number);
                           &in_visitor_data,
                           test_visitor_in_native_list_number);

    g_test_run();

+25 −13
Original line number Diff line number Diff line
/*
 * QMP Output Visitor unit-tests.
 *
 * Copyright (C) 2011 Red Hat Inc.
 * Copyright (C) 2011, 2015 Red Hat Inc.
 *
 * Authors:
 *  Luiz Capitulino <lcapitulino@redhat.com>
@@ -871,29 +871,41 @@ int main(int argc, char **argv)
    output_visitor_test_add("/visitor/output/empty",
                            &out_visitor_data, test_visitor_out_empty);
    output_visitor_test_add("/visitor/output/native_list/int",
                            &out_visitor_data, test_visitor_out_native_list_int);
                            &out_visitor_data,
                            test_visitor_out_native_list_int);
    output_visitor_test_add("/visitor/output/native_list/int8",
                            &out_visitor_data, test_visitor_out_native_list_int8);
                            &out_visitor_data,
                            test_visitor_out_native_list_int8);
    output_visitor_test_add("/visitor/output/native_list/int16",
                            &out_visitor_data, test_visitor_out_native_list_int16);
                            &out_visitor_data,
                            test_visitor_out_native_list_int16);
    output_visitor_test_add("/visitor/output/native_list/int32",
                            &out_visitor_data, test_visitor_out_native_list_int32);
                            &out_visitor_data,
                            test_visitor_out_native_list_int32);
    output_visitor_test_add("/visitor/output/native_list/int64",
                            &out_visitor_data, test_visitor_out_native_list_int64);
                            &out_visitor_data,
                            test_visitor_out_native_list_int64);
    output_visitor_test_add("/visitor/output/native_list/uint8",
                            &out_visitor_data, test_visitor_out_native_list_uint8);
                            &out_visitor_data,
                            test_visitor_out_native_list_uint8);
    output_visitor_test_add("/visitor/output/native_list/uint16",
                            &out_visitor_data, test_visitor_out_native_list_uint16);
                            &out_visitor_data,
                            test_visitor_out_native_list_uint16);
    output_visitor_test_add("/visitor/output/native_list/uint32",
                            &out_visitor_data, test_visitor_out_native_list_uint32);
                            &out_visitor_data,
                            test_visitor_out_native_list_uint32);
    output_visitor_test_add("/visitor/output/native_list/uint64",
                            &out_visitor_data, test_visitor_out_native_list_uint64);
                            &out_visitor_data,
                            test_visitor_out_native_list_uint64);
    output_visitor_test_add("/visitor/output/native_list/bool",
                            &out_visitor_data, test_visitor_out_native_list_bool);
                            &out_visitor_data,
                            test_visitor_out_native_list_bool);
    output_visitor_test_add("/visitor/output/native_list/string",
                            &out_visitor_data, test_visitor_out_native_list_str);
                            &out_visitor_data,
                            test_visitor_out_native_list_str);
    output_visitor_test_add("/visitor/output/native_list/number",
                            &out_visitor_data, test_visitor_out_native_list_number);
                            &out_visitor_data,
                            test_visitor_out_native_list_number);

    g_test_run();