diff options
Diffstat (limited to 'tests/qapi-schema/meson.build')
-rw-r--r-- | tests/qapi-schema/meson.build | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build index 83a0a68389..4e8cae62c8 100644 --- a/tests/qapi-schema/meson.build +++ b/tests/qapi-schema/meson.build @@ -224,3 +224,45 @@ qapi_doc = custom_target('QAPI doc', test('QAPI doc', diff, args: ['-b', '-u', files('doc-good.texi'), qapi_doc[0].full_path()], depends: qapi_doc, suite: ['qapi-schema', 'qapi-doc']) + +SPHINX_ARGS = [config_host['SPHINX_BUILD']] + +if get_option('werror') + SPHINX_ARGS += [ '-W' ] +endif + +qapi_doc_out = custom_target('QAPI rST doc', + output: ['doc-good.txt'], + input: files('doc-good.json', 'doc-good.rst'), + # We use -E to suppress Sphinx's caching, because we want it to + # always really run the QAPI doc generation code. It also means + # we don't clutter up the build dir with the cache. + command: [SPHINX_ARGS, + '-b', 'text', '-E', + '-c', meson.source_root() / 'docs', + '-D', 'master_doc=doc-good', + meson.current_source_dir(), + meson.current_build_dir()]) + +qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', + output: ['doc-good.txt.nocr'], + input: qapi_doc_out[0], + command: ['tr', '-d', '\r', '@INPUT@'], + capture: true) + +qapi_doc_ref_nocr = custom_target('QAPI rST doc reference newline-sanitized', + output: ['doc-good.ref.nocr'], + input: files('doc-good.txt'), + command: ['tr', '-d', '\r', '@INPUT@'], + capture: true) + +if build_docs + # "full_path()" needed here to work around + # https://github.com/mesonbuild/meson/issues/7585 + # TODO don't want to use -b as we care about whitespace + # probably need to strip line-endings :-( + test('QAPI rST doc', diff, args: ['-u', qapi_doc_ref_nocr[0].full_path(), + qapi_doc_out_nocr[0].full_path()], + depends: [qapi_doc_ref_nocr, qapi_doc_out_nocr], + suite: ['qapi-schema', 'qapi-doc']) +endif |