Fix missing documentation in the test suite
Marco Ricci

Marco Ricci commited on 2025-08-31 21:24:09
Zeige 14 geänderte Dateien mit 90 Einfügungen und 23 Löschungen.


Update the documentation (files, navigation) to reflect the test files
split and the introduction of the `tests.data` and `tests.machinery`
packages.  Additionally, turn the package descriptions in the `tests`
module docstring into proper hyperlinks.
... ...
@@ -0,0 +1,4 @@
1
+::: tests.conftest
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,8 @@
1
+::: tests.data
2
+    options:
3
+      heading_level: 1
4
+
5
+::: tests.data.callables
6
+    options:
7
+      heading_level: 2
8
+
... ...
@@ -0,0 +1,12 @@
1
+::: tests.machinery
2
+    options:
3
+      heading_level: 1
4
+
5
+::: tests.machinery.hypothesis
6
+    options:
7
+      heading_level: 2
8
+
9
+::: tests.machinery.pytest
10
+    options:
11
+      heading_level: 2
12
+
... ...
@@ -2,7 +2,3 @@
2 2
     options:
3 3
       heading_level: 1
4 4
 
5
-::: tests.conftest
6
-    options:
7
-      heading_level: 2
8
-
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_000_basic
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_all_cli
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_heavy_duty
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_shell_completion
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_transition
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_cli.test_utils
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_ssh_agent.test_000_basic
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -0,0 +1,4 @@
1
+::: tests.test_derivepassphrase_ssh_agent.test_heavy_duty
2
+    options:
3
+      heading_level: 1
4
+
... ...
@@ -35,14 +35,28 @@ nav:
35 35
       - Submodule cli_machinery: reference/derivepassphrase._internals.cli_machinery.md
36 36
       - Submodule cli_messages: reference/derivepassphrase._internals.cli_messages.md
37 37
     - 'Internal API docs: Tests':
38
-      - Basic testing infrastructure: reference/tests.md
38
+      - Basic testing infrastructure:
39
+        - Overview: reference/tests.md
40
+        - pytest configuration: reference/tests.conftest.md
41
+        - Common testing data: reference/tests.data.md
42
+        - Common testing machinery: reference/tests.machinery.md
39 43
       - Localization machinery: reference/tests.test_l10n.md
40 44
       - derivepassphrase command-line:
41
-        - cli module, helpers and machinery: reference/tests.test_derivepassphrase_cli.md
45
+        - cli module, helpers and machinery:
46
+          - Overview: reference/tests.test_derivepassphrase_cli.md
47
+          - Basic tests: reference/tests.test_derivepassphrase_cli.test_000_basic.md
48
+          - Tests concerning all CLIs: reference/tests.test_derivepassphrase_cli.test_all_cli.md
49
+          - Heavy-duty tests: reference/tests.test_derivepassphrase_cli.test_heavy_duty.md
50
+          - Shell completion tests: reference/tests.test_derivepassphrase_cli.test_shell_completion.md
51
+          - CLI Transition tests: reference/tests.test_derivepassphrase_cli.test_transition.md
52
+          - Tests for CLI utilities: reference/tests.test_derivepassphrase_cli.test_utils.md
42 53
         - '"export vault" subcommand tests': reference/tests.test_derivepassphrase_cli_export_vault.md
43 54
       - exporter module: reference/tests.test_derivepassphrase_exporter.md
44 55
       - sequin module: reference/tests.test_derivepassphrase_sequin.md
45
-      - ssh_agent module: reference/tests.test_derivepassphrase_ssh_agent.md
56
+      - ssh_agent module:
57
+        - Overview: reference/tests.test_derivepassphrase_ssh_agent.md
58
+        - Basic tests: reference/tests.test_derivepassphrase_ssh_agent.test_000_basic.md
59
+        - Heavy-duty tests: reference/tests.test_derivepassphrase_ssh_agent.test_heavy_duty.md
46 60
       - _types module: reference/tests.test_derivepassphrase_types.md
47 61
       - vault module: reference/tests.test_derivepassphrase_vault.md
48 62
   - Design & Background:
... ...
@@ -22,32 +22,33 @@ Layout (support code)
22 22
 =====================
23 23
 
24 24
 The testing support code is divided into five modules in two
25
-subpackages: `tests.data`, `tests.data.callables`, `tests.machinery`,
26
-`tests.machinery.pytest` and `tests.machinery.hypothesis`.  They have
27
-strict import requirements: any module in this list may only import data
28
-and functionality from modules earlier in this list.
25
+subpackages: [`tests.data`][], [`tests.data.callables`][],
26
+[`tests.machinery`][], [`tests.machinery.pytest`][] and
27
+[`tests.machinery.hypothesis`][].  They have strict import requirements:
28
+any module in this list may only import data and functionality from
29
+modules earlier in this list.
29 30
 
30
-  * The package `tests.data` includes static test data, types, and
31
+  * The package [`tests.data`][] includes static test data, types, and
31 32
     associated lightweight machinery (think: accessors, categorization
32 33
     functions, and the like).
33 34
 
34
-  * The package `tests.data.callables` includes functions that operate
35
-    on test data, or that alternatively implement stubbed versions of
36
-    proper `derivepassphrase` functionality.  This includes test
37
-    doubles, if they do not depend on the presence of certain test
35
+  * The module [`tests.data.callables`][] includes functions that
36
+    operate on test data, or that alternatively implement stubbed
37
+    versions of proper `derivepassphrase` functionality.  This includes
38
+    test doubles, if they do not depend on the presence of certain test
38 39
     machinery.  Data is only included in this module (instead of in
39
-    `tests.data`) if it depends on the functions in this module.
40
+    [`tests.data`][]) if it depends on the functions in this module.
40 41
 
41
-  * The package `tests.machinery` includes data and functions that is
42
-    not specific to any test system, but which nonetheless is of little
43
-    value outside of such a system.  This includes "fakes", i.e.
42
+  * The package [`tests.machinery`][] includes data and functions that
43
+    is not specific to any test system, but which nonetheless is of
44
+    little value outside of such a system.  This includes "fakes", i.e.
44 45
     reasonably complete reimplementations of existing `derivepassphrase`
45 46
     functionality, for comparison or "switching out" purposes.
46 47
 
47
-  * The package `tests.machinery.pytest` includes `pytest`-specific data
48
-    and functions, such as marks and parametrization sets.
48
+  * The module [`tests.machinery.pytest`][] includes `pytest`-specific
49
+    data and functions, such as marks and parametrization sets.
49 50
 
50
-  * The package `tests.machinery.hypothesis` includes
51
+  * The module [`tests.machinery.hypothesis`][] includes
51 52
     `hypothesis`-specific data and functions, such as `hypothesis`
52 53
     strategies.
53 54
 
54 55