https://git.schokokeks.org/derivepassphrase.git/tree/91953be84921031dfe082fe314c0216baa96fe9aRecent commits to derivepassphrase.git (91953be84921031dfe082fe314c0216baa96fe9a)2026-07-05T16:52:19+02:00tag:gitlist.org,2012:commit/91953be84921031dfe082fe314c0216baa96fe9aRestore the `test_hash_length_expansion`/`test_wrong_initial_hash_length` vault test2026-07-05T16:52:19+02:00Marco Riccisoftware@the13thletter.info
<pre>This test exercises the "automatically enlarging the sequin input" path
of passphrase derivation in vault.
We originally removed this test because its original name and
description suggested a somewhat different purpose, and necessity.
</pre>
tag:gitlist.org,2012:commit/5d1c2297ead22c7dd0ef5e78c994aa674680f6beFix some test coverage slipups2026-07-05T16:21:55+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/3e9162ca6f3d536c73446940c6ea34beb9cf5ddfDefine `use_stub_agent`/`use_stub_agent_with_address` in conftest2026-07-05T11:13:19+02:00Marco Riccisoftware@the13thletter.info
<pre>This avoids redefining the same fixture in multiple test modules.
</pre>
tag:gitlist.org,2012:commit/ac77734f1ee1a32f825aedd28e223ff88e48aa9bAdd a heavy-duty test for Sequin internals2026-07-04T23:22:58+02:00Marco Riccisoftware@the13thletter.info
<pre>Add a heavy-duty hypothesis test (rule-based state machine) that
compares the state of our Sequin class against an as-literal-as-possible
port of the original JavaScript sequin module, included inline in the
test class.
(The heavy-duty marker and the state machine machinery are probably
overkill for this application, given that there is only one rule, and
that the test runs very fast. Nevertheless, phrasing this as a state
machine makes the workings of the test very explicit: what are the state
transitions, what are the invariants, etc.)
</pre>
tag:gitlist.org,2012:commit/988320655d5241e715792ec81fbf24f9656c0fdeImplement missing agent system support via tests.data.SystemSupportAction2026-07-04T21:10:03+02:00Marco Riccisoftware@the13thletter.info
<pre>Implement the "missing system support for the SSH agent communication
channel" setup code via the now centralized
`tests.data.SystemSupportAction` enum, instead of duplicating the setup
steps everywhere. This means adding the correct `SystemSupportAction`
value to the `MISSING_AGENT_SUPPORT` parametrization set.
In particular, since this parametrization set is already used in two
different test modules, put it into
`tests.machinery.pytest.Parametrize`.
</pre>
tag:gitlist.org,2012:commit/a5e9119b7521004707782c16f16e57fe315230dfMove some setup "action" classes into tests.data2026-07-04T21:08:08+02:00Marco Riccisoftware@the13thletter.info
<pre>Move the ListKeysAction, SignAction, SocketAddressAction and
SystemSupportAction classes into tests.data.
We intend to reuse the SystemSupportAction class for a new purpose next.
</pre>
tag:gitlist.org,2012:commit/b99bdb26271b4db72fc485a38dba978e5cc32fd2Turn some parametrized unit tests into nominal property-based tests2026-07-03T22:21:41+02:00Marco Riccisoftware@the13thletter.info
<pre>Introduce a converter function for `pytest.mark.parametrize` calls to
`hypothesis.example` calls. Further use this converter function to turn
some parametrized unit tests into nominal property-based hypothesis
tests. We use the same call signature as `pytest.mark.parametrize` for
our converter function so that transition to hypothesis-managed test
functions is very easy to write (just change the decorator name). We
also stick to the obvious cases only—things that should be
property-based tests but are currently parametrized tests, likely
because we haven't yet made the effort or don't yet know how to write
suitable hypothesis strategies.
(Our implementation explicitly avoids a caveat with the hypothesis
strategy `st.nothing`. Background at
https://github.com/HypothesisWorks/hypothesis/issues/4774 . Because we
rely on certain machinery from hypothesis, we adjust our minimum
hypothesis version. Since we're here, we also adjust the pytest
version, reflecting our actual use.)
We also add TODOs for non-trivial future work, such as consolidating
work across modules or adding new testing machinery.
</pre>
tag:gitlist.org,2012:commit/2eefc775ef0cbc70d07700f70779843cb74ab066Rewrite the vault CLI tests for config management to use the stub agent2026-07-03T21:53:17+02:00Marco Riccisoftware@the13thletter.info
<pre>All interaction with a "real" agent is stubbed out anyway, and there is
no reason to run this test against multiple agents or conversely to skip
it if the system cannot spawn/interface an agent at all.
</pre>
tag:gitlist.org,2012:commit/95dfb499153eb2665384db352331550f5c9f8f0bFix tiny mistakes across the test suite2026-07-03T21:50:35+02:00Marco Riccisoftware@the13thletter.info
<pre>Typos, unwise variable names, and redundancies in the test logic or
arguments.
</pre>
tag:gitlist.org,2012:commit/6d48281bdbd4485bc9d49736927805f2a7228140Update tooling (mypy/pyrefly, mkdocstrings overrides)2026-06-24T18:35:06+02:00Marco Riccisoftware@the13thletter.info
<pre>Add a pyrefly configuration, which newer versions of hatch and VS Code
prefer over mypy. Fix violations that pyrefly complains about, but mypy
doesn't, e.g., `del (list_of_variables)`. Remove unnecessary casts --
pyrefly warns on those, but mypy doesn't -- and document those necessary
casts explicitly, even if they are a tool deficiency (usually mypy).
Conversely, add conversions or tighter type bounds where necessary,
usually when interacting with third-party libraries that use too lax
typing because mypy doesn't complain (cryptography, click). To be fair,
I have caused my fair share of those as well.
Finally, fix the "devsetup" mkdocs configuration that should have been
showing private members in the API documentation (if document), but
wasn't.
</pre>