sssss................................s.................................. [ 16%]
........................................................................ [ 32%]
........................................................................ [ 48%]
........................................................................ [ 64%]
........................................................................ [ 81%]
........................................................................ [ 97%]
............                                                             [100%]
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.13.5-final-0 ________________

Name                                  Stmts   Miss  Cover   Missing
-------------------------------------------------------------------
src/fixplesk/__init__.py                  3      0   100%
src/fixplesk/__main__.py                  2      2     0%   1-3
src/fixplesk/backup.py                   59      5    92%   41, 51, 63, 67, 69
src/fixplesk/cli.py                     470     80    83%   38, 60-63, 253, 262, 270-273, 278, 286, 289, 291, 322-324, 330-331, 333-336, 342, 347, 353-357, 365, 372, 388, 398-411, 417, 428-433, 435-437, 439-441, 443-451, 458, 464, 467-471, 481, 500, 502, 520-521, 532
src/fixplesk/collector.py               128     46    64%   33-42, 44, 46, 48, 50, 53, 58-77, 100-106, 120, 124, 126, 133, 141-142
src/fixplesk/config.py                  213     15    93%   64, 71, 78, 126, 148, 188, 194, 197, 216, 218, 232, 238, 242, 244-246
src/fixplesk/diagnostics.py              16      0   100%
src/fixplesk/docroot.py                 178      5    97%   99, 135, 139, 141, 145
src/fixplesk/dsl.py                     216     17    92%   50, 54, 60, 78, 86, 116-117, 128, 139-141, 167, 187-189, 193, 233
src/fixplesk/errors.py                   16      0   100%
src/fixplesk/executor.py                282     36    87%   44, 63, 71, 86-88, 94, 98-99, 109, 118, 120-121, 131, 141, 180, 183, 185, 205-207, 209, 234, 238, 287, 303-304, 307, 322, 324-329, 332
src/fixplesk/explain.py                  75      7    91%   16-17, 25-26, 107, 118-119
src/fixplesk/graph.py                    46      0   100%
src/fixplesk/llm.py                      95     11    88%   31, 44, 46, 57-58, 106, 112, 118-121
src/fixplesk/local_analysis.py          110     22    80%   24-33, 35, 46, 49, 57-58, 67, 90-91, 100, 111, 122, 130
src/fixplesk/models.py                  160      2    99%   79, 145
src/fixplesk/normalizer.py               64      3    95%   91, 105-106
src/fixplesk/offline.py                 169      4    98%   97, 101, 104, 260
src/fixplesk/operations.py               44      9    80%   16, 28, 33, 35, 38, 40, 42, 44, 49
src/fixplesk/plugins.py                  15      1    93%   18
src/fixplesk/privacy.py                 164     23    86%   63, 99-100, 106-115, 125, 159, 176, 187, 193, 196, 205-210
src/fixplesk/providers/__init__.py        0      0   100%
src/fixplesk/providers/files.py          92      8    91%   37, 77, 79, 88-91, 94
src/fixplesk/providers/plesk.py         177     56    68%   21, 23, 31-35, 43, 59, 61, 69, 74, 98, 111-113, 118, 125, 127, 135, 138-139, 142-150, 153-169, 178, 181-183, 189, 193, 202, 211-212, 214
src/fixplesk/providers/wordpress.py     101     16    84%   25, 29, 31, 35, 42, 45-46, 74, 87, 92-93, 99, 105, 116, 121, 124
src/fixplesk/recovery.py                 54      4    93%   37, 45, 51, 80
src/fixplesk/reports.py                  66      8    88%   33, 39-43, 80, 95
src/fixplesk/security.py                132     11    92%   55, 58-59, 68, 73, 76, 82, 88, 128, 171-172
src/fixplesk/sources.py                 136     42    69%   71-72, 76-103, 126, 131, 139-142, 148, 155-161
src/fixplesk/store.py                   130      7    95%   23, 28-29, 56-57, 117, 166
src/fixplesk/tools.py                   177     21    88%   43, 74, 115, 117, 135, 140-143, 165-167, 174, 187, 189-194, 307
src/fixplesk/transport.py               157     19    88%   40-41, 58, 92-93, 114, 123, 129, 131, 136-137, 160, 163, 178, 191-196
src/fixplesk/twin.py                     46      3    93%   55, 62-63
src/fixplesk/workflow.py                 23      1    96%   49
-------------------------------------------------------------------
TOTAL                                  3816    484    87%
Coverage JSON written to file docs/validation/coverage.json
=========================== short test summary info ============================
SKIPPED [1] tests/e2e/test_real_wordpress.py:62: Real WordPress Docker profile not running
SKIPPED [1] tests/e2e/test_real_wordpress.py:67: Real WordPress Docker profile not running
SKIPPED [1] tests/e2e/test_real_wordpress.py:76: Real WordPress Docker profile not running
SKIPPED [1] tests/e2e/test_real_wordpress.py:85: Real WordPress Docker profile not running
SKIPPED [1] tests/e2e/test_real_wordpress.py:94: Real WordPress Docker profile not running
SKIPPED [1] tests/offline/test_backends.py:33: Optional Z3 solver not installed in this environment
438 passed, 6 skipped in 24.07s
