Marc-André Lureau <marcandre.lur...@redhat.com> writes: > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > tests/Makefile.include | 3 +++ > tests/qapi-schema/enum-dict-member-invalid.err | 1 + > tests/qapi-schema/enum-dict-member-invalid.exit | 1 + > tests/qapi-schema/enum-dict-member-invalid.json | 2 ++ > tests/qapi-schema/enum-dict-member-invalid.out | 0 > tests/qapi-schema/enum-dict-member-invalid2.err | 1 + > tests/qapi-schema/enum-dict-member-invalid2.exit | 1 + > tests/qapi-schema/enum-dict-member-invalid2.json | 2 ++ > tests/qapi-schema/enum-dict-member-invalid2.out | 0 > tests/qapi-schema/enum-if-invalid.err | 1 + > tests/qapi-schema/enum-if-invalid.exit | 1 + > tests/qapi-schema/enum-if-invalid.json | 3 +++ > tests/qapi-schema/enum-if-invalid.out | 0 > 13 files changed, 16 insertions(+) > create mode 100644 tests/qapi-schema/enum-dict-member-invalid.err > create mode 100644 tests/qapi-schema/enum-dict-member-invalid.exit > create mode 100644 tests/qapi-schema/enum-dict-member-invalid.json > create mode 100644 tests/qapi-schema/enum-dict-member-invalid.out > create mode 100644 tests/qapi-schema/enum-dict-member-invalid2.err > create mode 100644 tests/qapi-schema/enum-dict-member-invalid2.exit > create mode 100644 tests/qapi-schema/enum-dict-member-invalid2.json > create mode 100644 tests/qapi-schema/enum-dict-member-invalid2.out > create mode 100644 tests/qapi-schema/enum-if-invalid.err > create mode 100644 tests/qapi-schema/enum-if-invalid.exit > create mode 100644 tests/qapi-schema/enum-if-invalid.json > create mode 100644 tests/qapi-schema/enum-if-invalid.out > > diff --git a/tests/Makefile.include b/tests/Makefile.include > index a9f0ddbe01..0aa532f029 100644 > --- a/tests/Makefile.include > +++ b/tests/Makefile.include > @@ -443,6 +443,9 @@ qapi-schema += empty.json > qapi-schema += enum-bad-name.json > qapi-schema += enum-bad-prefix.json > qapi-schema += enum-clash-member.json > +qapi-schema += enum-dict-member-invalid.json > +qapi-schema += enum-dict-member-invalid2.json > +qapi-schema += enum-if-invalid.json > qapi-schema += enum-int-member.json > qapi-schema += enum-member-case.json > qapi-schema += enum-missing-data.json > diff --git a/tests/qapi-schema/enum-dict-member-invalid.err > b/tests/qapi-schema/enum-dict-member-invalid.err > new file mode 100644 > index 0000000000..d12cca0df3 > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid.err > @@ -0,0 +1 @@ > +tests/qapi-schema/enum-dict-member-invalid.json:2: Dictionary member of enum > 'MyEnum' must have a 'name' key > diff --git a/tests/qapi-schema/enum-dict-member-invalid.exit > b/tests/qapi-schema/enum-dict-member-invalid.exit > new file mode 100644 > index 0000000000..d00491fd7e > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid.exit > @@ -0,0 +1 @@ > +1 > diff --git a/tests/qapi-schema/enum-dict-member-invalid.json > b/tests/qapi-schema/enum-dict-member-invalid.json > new file mode 100644 > index 0000000000..9cf8406867 > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid.json > @@ -0,0 +1,2 @@ > +# we reject any enum member that is not a string or a dict with 'name' > +{ 'enum': 'MyEnum', 'data': [ { 'value': 'str' } ] } > diff --git a/tests/qapi-schema/enum-dict-member-invalid.out > b/tests/qapi-schema/enum-dict-member-invalid.out > new file mode 100644 > index 0000000000..e69de29bb2 > diff --git a/tests/qapi-schema/enum-dict-member-invalid2.err > b/tests/qapi-schema/enum-dict-member-invalid2.err > new file mode 100644 > index 0000000000..f7dc1a2b33 > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid2.err > @@ -0,0 +1 @@ > +tests/qapi-schema/enum-dict-member-invalid2.json:2: Dictionnary has unknown > keys: bad-key (allowed: name, if) > diff --git a/tests/qapi-schema/enum-dict-member-invalid2.exit > b/tests/qapi-schema/enum-dict-member-invalid2.exit > new file mode 100644 > index 0000000000..d00491fd7e > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid2.exit > @@ -0,0 +1 @@ > +1 > diff --git a/tests/qapi-schema/enum-dict-member-invalid2.json > b/tests/qapi-schema/enum-dict-member-invalid2.json > new file mode 100644 > index 0000000000..6664c59201 > --- /dev/null > +++ b/tests/qapi-schema/enum-dict-member-invalid2.json > @@ -0,0 +1,2 @@ > +# we reject any enum member that is not a string or a dict with 'name' > +{ 'enum': 'MyEnum', 'data': [ { 'name': 'foo', 'bad-key': 'str' } ] } > diff --git a/tests/qapi-schema/enum-dict-member-invalid2.out > b/tests/qapi-schema/enum-dict-member-invalid2.out > new file mode 100644 > index 0000000000..e69de29bb2 > diff --git a/tests/qapi-schema/enum-if-invalid.err > b/tests/qapi-schema/enum-if-invalid.err > new file mode 100644 > index 0000000000..54c3cf887b > --- /dev/null > +++ b/tests/qapi-schema/enum-if-invalid.err > @@ -0,0 +1 @@ > +tests/qapi-schema/enum-if-invalid.json:2: 'if' condition must be a string or > a list of strings > diff --git a/tests/qapi-schema/enum-if-invalid.exit > b/tests/qapi-schema/enum-if-invalid.exit > new file mode 100644 > index 0000000000..d00491fd7e > --- /dev/null > +++ b/tests/qapi-schema/enum-if-invalid.exit > @@ -0,0 +1 @@ > +1 > diff --git a/tests/qapi-schema/enum-if-invalid.json > b/tests/qapi-schema/enum-if-invalid.json > new file mode 100644 > index 0000000000..60bd0ef1d7 > --- /dev/null > +++ b/tests/qapi-schema/enum-if-invalid.json > @@ -0,0 +1,3 @@ > +# check invalid 'if' type > +{ 'enum': 'TestIfEnum', 'data': > + [ 'foo', { 'name' : 'bar', 'if': { 'val': 'foo' } } ] } > diff --git a/tests/qapi-schema/enum-if-invalid.out > b/tests/qapi-schema/enum-if-invalid.out > new file mode 100644 > index 0000000000..e69de29bb2
These tests are related to the coverage gap I mentioned in my review of PATCH 19. I think it makes sense to add related new tests together, right when we add whatever they test.