File: test_settings_docs.py

package info (click to toggle)
scikit-build-core 0.11.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,588 kB
  • sloc: python: 14,643; ansic: 254; cpp: 134; sh: 27; fortran: 18; makefile: 7
file content (58 lines) | stat: -rw-r--r-- 1,586 bytes parent folder | download
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