1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
from __future__ import annotations
import textwrap
from scikit_build_core.settings.documentation import mk_docs
from scikit_build_core.settings.skbuild_docs_readme import (
mk_skbuild_docs as mk_skbuild_docs_readme,
)
from scikit_build_core.settings.skbuild_docs_sphinx import (
mk_skbuild_docs as mk_skbuild_docs_sphinx,
)
from scikit_build_core.settings.skbuild_model import ScikitBuildSettings
def test_skbuild_docs_readme() -> None:
docs = mk_skbuild_docs_readme()
assert (
"A table of defines to pass to CMake when configuring the project. Additive."
in docs
)
assert "fail = false" in docs
# Deprecated items are not included here
assert "ninja.minimum-version" not in docs
def test_skbuild_docs_sphinx() -> None:
docs = mk_skbuild_docs_sphinx()
assert (
textwrap.dedent("""\
.. confval:: cmake.define
:type: ``EnvVar``
A table of defines to pass to CMake when configuring the project. Additive.
""")
in docs
)
assert (
textwrap.dedent("""\
.. confval:: ninja.minimum-version
:type: ``Version``
DEPRECATED in 0.8; use version instead.
""")
in docs
)
def test_mk_docs() -> None:
docs = set(mk_docs(ScikitBuildSettings))
dcdoc = next(item for item in docs if item.name == "cmake.define")
assert dcdoc.type == "EnvVar"
assert dcdoc.default == "{}"
assert (
dcdoc.docs
== "A table of defines to pass to CMake when configuring the project. Additive."
)
assert dcdoc.deprecated is False
|