https://git.schokokeks.org/derivepassphrase.git/tree/ef4c911e26342d47bb672e580d5922dcd436ba9fRecent commits to derivepassphrase.git (ef4c911e26342d47bb672e580d5922dcd436ba9f)2025-01-31T15:00:24+01:00tag:gitlist.org,2012:commit/ef4c911e26342d47bb672e580d5922dcd436ba9fDocument general changes to the test suite since 0.4.02025-01-31T15:00:24+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/966cc7d3d7fbc5fef406629f304f9d018b22eb57Document change in testing setup2025-01-31T14:54:53+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/7e9e0e24feaedfe8465a080e2bfee991bbbb6a40Adjust hypothesis deadlines globally and redo the profiles and slowdown factors2025-01-31T14:43:03+01:00Marco Riccisoftware@the13thletter.info
<pre>Previously, we would define a "worst-case" hypothesis profile for use
under instrumentation (coverage measurement), and decorate every
hypothesis test which we experienced to have deadline problems with this
decorator. This step was manual, and very error-prone when generating
new hypothesis tests. Conceptually, it also indicated that adjusted
deadlines applied for some tests, but not for others, even though the
deadline adjustment is actually a side-effect of global instrumentation.
We therefore now adopt a global solution, where the pytest configuration
file detects which coverage instrumentation (if any) is running, and
adjusts the default hypothesis settings appropriately. The decorator is
removed.
In the course of this, we re-evaluated the profiles and the slowdown
factors, instead of assuming the worst-case instrumentation. hypothesis
also defines a "ci" profile for use in continuous integration, together
with some commentary on how this profile is expected to be used. We
cede this profile name to hypothesis (and remove it from our testing
matrix in hatch), and define our own "intense" profile for high-volume
hypothesis testing based on the "ci" profile, to be invoked manually as
a "pre-release" (or perhaps "nightly") run.
Finally, because the test suite now is rather slow in sequential use, we
add `--dist=worksteal` to the test options to better distribute load
during parallel testing. We choose this over other more "balanced"
strategies because our single-test runtimes wildly fluctuate thanks to
hypothesis, so work stealing appears to be the most reliable
distribution heuristic for us.
</pre>
tag:gitlist.org,2012:commit/af0cd7e9e4b0c823bf1385d6942ef7ba44f53649Merge topic branch 'split-cli-module' into master2025-01-29T22:30:02+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/split-cli-module:
Document the trimming of the `cli` module in the changelog
Split off cli_helpers and cli_machinery internal modules
Move CLI messages module into a new `_internals` subpackage
</pre>
tag:gitlist.org,2012:commit/aa0968564bd32aff89877e91cea4da237998aeaeDocument the trimming of the `cli` module in the changelog2025-01-29T22:29:01+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/623f749ed8245822f7b00520bd4096d008673685Split off cli_helpers and cli_machinery internal modules2025-01-29T22:23:26+01:00Marco Riccisoftware@the13thletter.info
<pre>Split off the `logging` and `click` support code (the "machinery") and
the command-specific helper functions (the "helpers") into separate
modules under `derivepassphrase._internals`. Change all functions,
classes and attributes within those new modules to be public with
respect to the module, since the module itself is already non-public.
Also document all previously undocumented classes and functions:
`cli_helpers.ORIGIN`, `cli_helpers.check_for_misleading_passphrase`,
`cli_helpers.key_to_phrase` and `cli_helpers.print_config_as_sh_script`.
Add a better default value (`cli_helpers.default_error_callback`) for
the `error_callback` parameter of `cli_helpers.key_to_phrase`, and
document that too. Finally, since the shell completion parts are now
split across two modules, add an explicit TODO to the
`cli_machinery.ZshComplete` class to add context.
</pre>
tag:gitlist.org,2012:commit/733aeec69f03e5b8cfa025ee381dce10902f821cMove CLI messages module into a new `_internals` subpackage2025-01-29T20:34:40+01:00Marco Riccisoftware@the13thletter.info
<pre>Also adjust the headings in the development build of the documentation
to clearly mark internal documentation as internal.
(The absolute imports within the CLI messages module make the move
itself relatively painless: only the callers need to be adjusted to the
new path.)
</pre>
tag:gitlist.org,2012:commit/258929497c5a8582f02e6b3fe3e42fad45e1bb86Merge topic branch 'vault-module-api' into master2025-01-29T16:35:02+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/vault-module-api:
Document API changes in the vault module
Adjust coverage on vault tests for error-only code paths
Adjust docstrings for vault "symbol" character class
Make the vault UUID and CHARSETS attributes public
Let `Vault` accept Buffer-type values wherever it accepts bytes
</pre>
tag:gitlist.org,2012:commit/9cca65fc7dbc704b832332abdf441745e77b85b5Document API changes in the vault module2025-01-29T16:34:22+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/a9025de171c37b4a8ba78945906e800616c1d9a3Adjust coverage on vault tests for error-only code paths2025-01-29T15:36:12+01:00Marco Riccisoftware@the13thletter.info
<pre>Code paths in the tests that only do error handling due to factors
beyond their control (here: unsatisfied hypothesis assumptions, or
re-raising the error) should not be counted towards coverage.
</pre>