Message ID | 20201016091447.1552469-1-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | meson: move SPHINX_ARGS references within "if build_docs" | expand |
Le ven. 16 oct. 2020 11:15, Paolo Bonzini <pbonzini@redhat.com> a écrit : > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- > tests/qapi-schema/meson.build | 88 +++++++++++++++++------------------ > 1 file changed, 44 insertions(+), 44 deletions(-) > > diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build > index 1f222a7a13..66c7f04cf8 100644 > --- a/tests/qapi-schema/meson.build > +++ b/tests/qapi-schema/meson.build > @@ -219,53 +219,53 @@ qapi_doc = custom_target('QAPI doc', > '-p', 'doc-good-', '@INPUT0@' ], > depend_files: qapi_gen_depends) > > -# Test the document-comment document generation code by running a test > schema > -# file through Sphinx's plain-text builder and comparing the result > against > -# a golden reference. This is in theory susceptible to failures if Sphinx > -# changes its output, but the text output has historically been very > stable > -# (no changes between Sphinx 1.6 and 3.0), so it is a better bet than > -# texinfo or HTML generation, both of which have had changes. We might > -# need to add more sophisticated logic here in future for some sort of > -# fuzzy comparison if future Sphinx versions produce different text, > -# but for now the simple comparison suffices. > -qapi_doc_out = custom_target('QAPI rST doc', > - output: ['doc-good.txt'], > - input: files('doc-good.json', > 'doc-good.rst'), > - build_by_default: build_docs, > - depend_files: sphinx_extn_depends, > - # 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()]) > +if build_docs > + # Test the document-comment document generation code by running a test > schema > + # file through Sphinx's plain-text builder and comparing the result > against > + # a golden reference. This is in theory susceptible to failures if > Sphinx > + # changes its output, but the text output has historically been very > stable > + # (no changes between Sphinx 1.6 and 3.0), so it is a better bet than > + # texinfo or HTML generation, both of which have had changes. We might > + # need to add more sophisticated logic here in future for some sort of > + # fuzzy comparison if future Sphinx versions produce different text, > + # but for now the simple comparison suffices. > + qapi_doc_out = custom_target('QAPI rST doc', > + output: ['doc-good.txt'], > + input: files('doc-good.json', > 'doc-good.rst'), > + build_by_default: true, > + depend_files: sphinx_extn_depends, > + # 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()]) > > -# Fix possible inconsistency in line endings in generated output and > -# in the golden reference (which could otherwise cause test failures > -# on Windows hosts). Unfortunately diff --strip-trailing-cr > -# is GNU-diff only. The odd-looking perl is because we must avoid > -# using an explicit '\' character in the command arguments to > -# a custom_target(), as Meson will unhelpfully replace it with a '/' > -# (https://github.com/mesonbuild/meson/issues/1564) > -qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', > - output: ['doc-good.txt.nocr'], > - input: qapi_doc_out[0], > - build_by_default: build_docs, > - command: ['perl', '-pe', '$x = chr 13; > s/$x$//', '@INPUT@'], > - capture: true) > + # Fix possible inconsistency in line endings in generated output and > + # in the golden reference (which could otherwise cause test failures > + # on Windows hosts). Unfortunately diff --strip-trailing-cr > + # is GNU-diff only. The odd-looking perl is because we must avoid > + # using an explicit '\' character in the command arguments to > + # a custom_target(), as Meson will unhelpfully replace it with a '/' > + # (https://github.com/mesonbuild/meson/issues/1564) > + qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', > + output: ['doc-good.txt.nocr'], > + input: qapi_doc_out[0], > + build_by_default: true, > + command: ['perl', '-pe', '$x = chr > 13; s/$x$//', '@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'), > - build_by_default: build_docs, > - command: ['perl', '-pe', '$x = chr 13; > s/$x$//', '@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'), > + build_by_default: true, > + command: ['perl', '-pe', '$x = chr > 13; s/$x$//', '@INPUT@'], > + capture: true) > > -if build_docs > # "full_path()" needed here to work around > # https://github.com/mesonbuild/meson/issues/7585 > test('QAPI rST doc', diff, args: ['-u', > qapi_doc_ref_nocr[0].full_path(), > -- > 2.26.2 > > > <div dir="auto"><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le ven. 16 oct. 2020 11:15, Paolo Bonzini <<a href="mailto:pbonzini@redhat.com">pbonzini@redhat.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Paolo Bonzini <<a href="mailto:pbonzini@redhat.com" target="_blank" rel="noreferrer">pbonzini@redhat.com</a>><br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Reviewed-by: Philippe Mathieu-Daudé <<a href="mailto:f4bug@amsat.org">f4bug@amsat.org</a>><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> ---<br> tests/qapi-schema/meson.build | 88 +++++++++++++++++------------------<br> 1 file changed, 44 insertions(+), 44 deletions(-)<br> <br> diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build<br> index 1f222a7a13..66c7f04cf8 100644<br> --- a/tests/qapi-schema/meson.build<br> +++ b/tests/qapi-schema/meson.build<br> @@ -219,53 +219,53 @@ qapi_doc = custom_target('QAPI doc',<br> '-p', 'doc-good-', '@INPUT0@' ],<br> depend_files: qapi_gen_depends)<br> <br> -# Test the document-comment document generation code by running a test schema<br> -# file through Sphinx's plain-text builder and comparing the result against<br> -# a golden reference. This is in theory susceptible to failures if Sphinx<br> -# changes its output, but the text output has historically been very stable<br> -# (no changes between Sphinx 1.6 and 3.0), so it is a better bet than<br> -# texinfo or HTML generation, both of which have had changes. We might<br> -# need to add more sophisticated logic here in future for some sort of<br> -# fuzzy comparison if future Sphinx versions produce different text,<br> -# but for now the simple comparison suffices.<br> -qapi_doc_out = custom_target('QAPI rST doc',<br> - output: ['doc-good.txt'],<br> - input: files('doc-good.json', 'doc-good.rst'),<br> - build_by_default: build_docs,<br> - depend_files: sphinx_extn_depends,<br> - # We use -E to suppress Sphinx's caching, because<br> - # we want it to always really run the QAPI doc<br> - # generation code. It also means we don't<br> - # clutter up the build dir with the cache.<br> - command: [SPHINX_ARGS,<br> - '-b', 'text', '-E',<br> - '-c', meson.source_root() / 'docs',<br> - '-D', 'master_doc=doc-good',<br> - meson.current_source_dir(),<br> - meson.current_build_dir()])<br> +if build_docs<br> + # Test the document-comment document generation code by running a test schema<br> + # file through Sphinx's plain-text builder and comparing the result against<br> + # a golden reference. This is in theory susceptible to failures if Sphinx<br> + # changes its output, but the text output has historically been very stable<br> + # (no changes between Sphinx 1.6 and 3.0), so it is a better bet than<br> + # texinfo or HTML generation, both of which have had changes. We might<br> + # need to add more sophisticated logic here in future for some sort of<br> + # fuzzy comparison if future Sphinx versions produce different text,<br> + # but for now the simple comparison suffices.<br> + qapi_doc_out = custom_target('QAPI rST doc',<br> + output: ['doc-good.txt'],<br> + input: files('doc-good.json', 'doc-good.rst'),<br> + build_by_default: true,<br> + depend_files: sphinx_extn_depends,<br> + # We use -E to suppress Sphinx's caching, because<br> + # we want it to always really run the QAPI doc<br> + # generation code. It also means we don't<br> + # clutter up the build dir with the cache.<br> + command: [SPHINX_ARGS,<br> + '-b', 'text', '-E',<br> + '-c', meson.source_root() / 'docs',<br> + '-D', 'master_doc=doc-good',<br> + meson.current_source_dir(),<br> + meson.current_build_dir()])<br> <br> -# Fix possible inconsistency in line endings in generated output and<br> -# in the golden reference (which could otherwise cause test failures<br> -# on Windows hosts). Unfortunately diff --strip-trailing-cr<br> -# is GNU-diff only. The odd-looking perl is because we must avoid<br> -# using an explicit '\' character in the command arguments to<br> -# a custom_target(), as Meson will unhelpfully replace it with a '/'<br> -# (<a href="https://github.com/mesonbuild/meson/issues/1564" rel="noreferrer noreferrer" target="_blank">https://github.com/mesonbuild/meson/issues/1564</a>)<br> -qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized',<br> - output: ['doc-good.txt.nocr'],<br> - input: qapi_doc_out[0],<br> - build_by_default: build_docs,<br> - command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],<br> - capture: true)<br> + # Fix possible inconsistency in line endings in generated output and<br> + # in the golden reference (which could otherwise cause test failures<br> + # on Windows hosts). Unfortunately diff --strip-trailing-cr<br> + # is GNU-diff only. The odd-looking perl is because we must avoid<br> + # using an explicit '\' character in the command arguments to<br> + # a custom_target(), as Meson will unhelpfully replace it with a '/'<br> + # (<a href="https://github.com/mesonbuild/meson/issues/1564" rel="noreferrer noreferrer" target="_blank">https://github.com/mesonbuild/meson/issues/1564</a>)<br> + qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized',<br> + output: ['doc-good.txt.nocr'],<br> + input: qapi_doc_out[0],<br> + build_by_default: true,<br> + command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],<br> + capture: true)<br> <br> -qapi_doc_ref_nocr = custom_target('QAPI rST doc reference newline-sanitized',<br> - output: ['doc-good.ref.nocr'],<br> - input: files('doc-good.txt'),<br> - build_by_default: build_docs,<br> - command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],<br> - capture: true)<br> + qapi_doc_ref_nocr = custom_target('QAPI rST doc reference newline-sanitized',<br> + output: ['doc-good.ref.nocr'],<br> + input: files('doc-good.txt'),<br> + build_by_default: true,<br> + command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'],<br> + capture: true)<br> <br> -if build_docs<br> # "full_path()" needed here to work around<br> # <a href="https://github.com/mesonbuild/meson/issues/7585" rel="noreferrer noreferrer" target="_blank">https://github.com/mesonbuild/meson/issues/7585</a><br> test('QAPI rST doc', diff, args: ['-u', qapi_doc_ref_nocr[0].full_path(),<br> -- <br> 2.26.2<br> <br> <br> </blockquote></div></div></div>
diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build index 1f222a7a13..66c7f04cf8 100644 --- a/tests/qapi-schema/meson.build +++ b/tests/qapi-schema/meson.build @@ -219,53 +219,53 @@ qapi_doc = custom_target('QAPI doc', '-p', 'doc-good-', '@INPUT0@' ], depend_files: qapi_gen_depends) -# Test the document-comment document generation code by running a test schema -# file through Sphinx's plain-text builder and comparing the result against -# a golden reference. This is in theory susceptible to failures if Sphinx -# changes its output, but the text output has historically been very stable -# (no changes between Sphinx 1.6 and 3.0), so it is a better bet than -# texinfo or HTML generation, both of which have had changes. We might -# need to add more sophisticated logic here in future for some sort of -# fuzzy comparison if future Sphinx versions produce different text, -# but for now the simple comparison suffices. -qapi_doc_out = custom_target('QAPI rST doc', - output: ['doc-good.txt'], - input: files('doc-good.json', 'doc-good.rst'), - build_by_default: build_docs, - depend_files: sphinx_extn_depends, - # 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()]) +if build_docs + # Test the document-comment document generation code by running a test schema + # file through Sphinx's plain-text builder and comparing the result against + # a golden reference. This is in theory susceptible to failures if Sphinx + # changes its output, but the text output has historically been very stable + # (no changes between Sphinx 1.6 and 3.0), so it is a better bet than + # texinfo or HTML generation, both of which have had changes. We might + # need to add more sophisticated logic here in future for some sort of + # fuzzy comparison if future Sphinx versions produce different text, + # but for now the simple comparison suffices. + qapi_doc_out = custom_target('QAPI rST doc', + output: ['doc-good.txt'], + input: files('doc-good.json', 'doc-good.rst'), + build_by_default: true, + depend_files: sphinx_extn_depends, + # 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()]) -# Fix possible inconsistency in line endings in generated output and -# in the golden reference (which could otherwise cause test failures -# on Windows hosts). Unfortunately diff --strip-trailing-cr -# is GNU-diff only. The odd-looking perl is because we must avoid -# using an explicit '\' character in the command arguments to -# a custom_target(), as Meson will unhelpfully replace it with a '/' -# (https://github.com/mesonbuild/meson/issues/1564) -qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', - output: ['doc-good.txt.nocr'], - input: qapi_doc_out[0], - build_by_default: build_docs, - command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'], - capture: true) + # Fix possible inconsistency in line endings in generated output and + # in the golden reference (which could otherwise cause test failures + # on Windows hosts). Unfortunately diff --strip-trailing-cr + # is GNU-diff only. The odd-looking perl is because we must avoid + # using an explicit '\' character in the command arguments to + # a custom_target(), as Meson will unhelpfully replace it with a '/' + # (https://github.com/mesonbuild/meson/issues/1564) + qapi_doc_out_nocr = custom_target('QAPI rST doc newline-sanitized', + output: ['doc-good.txt.nocr'], + input: qapi_doc_out[0], + build_by_default: true, + command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@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'), - build_by_default: build_docs, - command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@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'), + build_by_default: true, + command: ['perl', '-pe', '$x = chr 13; s/$x$//', '@INPUT@'], + capture: true) -if build_docs # "full_path()" needed here to work around # https://github.com/mesonbuild/meson/issues/7585 test('QAPI rST doc', diff, args: ['-u', qapi_doc_ref_nocr[0].full_path(),
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- tests/qapi-schema/meson.build | 88 +++++++++++++++++------------------ 1 file changed, 44 insertions(+), 44 deletions(-)