diff --git a/tests/Makefile.include b/tests/Makefile.include index 00b02fd19c..505f918404 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -369,6 +369,8 @@ qapi-schema += command-int.json qapi-schema += comments.json qapi-schema += doc-bad-args.json qapi-schema += doc-bad-symbol.json +qapi-schema += doc-before-include.json +qapi-schema += doc-before-pragma.json qapi-schema += doc-duplicated-arg.json qapi-schema += doc-duplicated-return.json qapi-schema += doc-duplicated-since.json @@ -385,6 +387,7 @@ qapi-schema += doc-missing.json qapi-schema += doc-missing-colon.json qapi-schema += doc-missing-expr.json qapi-schema += doc-missing-space.json +qapi-schema += doc-no-symbol.json qapi-schema += double-data.json qapi-schema += double-type.json qapi-schema += duplicate-key.json diff --git a/tests/qapi-schema/doc-before-include.err b/tests/qapi-schema/doc-before-include.err new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/qapi-schema/doc-before-include.exit b/tests/qapi-schema/doc-before-include.exit new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/qapi-schema/doc-before-include.exit @@ -0,0 +1 @@ +0 diff --git a/tests/qapi-schema/doc-before-include.json b/tests/qapi-schema/doc-before-include.json new file mode 100644 index 0000000000..ec1fbf275f --- /dev/null +++ b/tests/qapi-schema/doc-before-include.json @@ -0,0 +1,8 @@ +# Doc comment separated from defining expression by non-defining expression +# BUG: not rejected + +## +# @foo: +## +{ 'include': 'empty.json' } +{ 'struct': 'foo', 'data': {} } diff --git a/tests/qapi-schema/doc-before-include.out b/tests/qapi-schema/doc-before-include.out new file mode 100644 index 0000000000..236a849d48 --- /dev/null +++ b/tests/qapi-schema/doc-before-include.out @@ -0,0 +1,4 @@ +enum QType ['none', 'qnull', 'qint', 'qstring', 'qdict', 'qlist', 'qfloat', 'qbool'] + prefix QTYPE +object foo +object q_empty diff --git a/tests/qapi-schema/doc-before-pragma.err b/tests/qapi-schema/doc-before-pragma.err new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/qapi-schema/doc-before-pragma.exit b/tests/qapi-schema/doc-before-pragma.exit new file mode 100644 index 0000000000..573541ac97 --- /dev/null +++ b/tests/qapi-schema/doc-before-pragma.exit @@ -0,0 +1 @@ +0 diff --git a/tests/qapi-schema/doc-before-pragma.json b/tests/qapi-schema/doc-before-pragma.json new file mode 100644 index 0000000000..fb2ec8e3fb --- /dev/null +++ b/tests/qapi-schema/doc-before-pragma.json @@ -0,0 +1,8 @@ +# Doc comment separated from defining expression by non-defining expression +# BUG: not rejected + +## +# @foo: +## +{ 'pragma': {} } +{ 'struct': 'foo', 'data': {} } diff --git a/tests/qapi-schema/doc-before-pragma.out b/tests/qapi-schema/doc-before-pragma.out new file mode 100644 index 0000000000..236a849d48 --- /dev/null +++ b/tests/qapi-schema/doc-before-pragma.out @@ -0,0 +1,4 @@ +enum QType ['none', 'qnull', 'qint', 'qstring', 'qdict', 'qlist', 'qfloat', 'qbool'] + prefix QTYPE +object foo +object q_empty diff --git a/tests/qapi-schema/doc-no-symbol.err b/tests/qapi-schema/doc-no-symbol.err new file mode 100644 index 0000000000..727966cc0c --- /dev/null +++ b/tests/qapi-schema/doc-no-symbol.err @@ -0,0 +1 @@ +tests/qapi-schema/doc-no-symbol.json:4: Definition of 'foo' follows documentation for 'None' diff --git a/tests/qapi-schema/doc-no-symbol.exit b/tests/qapi-schema/doc-no-symbol.exit new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/tests/qapi-schema/doc-no-symbol.exit @@ -0,0 +1 @@ +1 diff --git a/tests/qapi-schema/doc-no-symbol.json b/tests/qapi-schema/doc-no-symbol.json new file mode 100644 index 0000000000..ee86ca184b --- /dev/null +++ b/tests/qapi-schema/doc-no-symbol.json @@ -0,0 +1,7 @@ +# Documentation for expression lacks symbol +# BUG: Error message claims it has symbol 'None' + +## +# foo: +## +{ 'command': 'foo', 'data': {'a': 'int'} } diff --git a/tests/qapi-schema/doc-no-symbol.out b/tests/qapi-schema/doc-no-symbol.out new file mode 100644 index 0000000000..e69de29bb2