https://git.schokokeks.org/derivepassphrase.git/tree/0bdfe96ea10f82e3e3f91b5cddfd92369d7bf180Recent commits to derivepassphrase.git (0bdfe96ea10f82e3e3f91b5cddfd92369d7bf180)2024-10-01T10:15:36+02:00tag:gitlist.org,2012:commit/0bdfe96ea10f82e3e3f91b5cddfd92369d7bf180Fix awkward parametrization declaration for SSH agent client tests2024-10-01T10:15:36+02:00Marco Riccisoftware@the13thletter.info
<pre>Instead of introducing a static method, calling it to obtain test
parameters, then removing it again, use a declaration within the
`pytest.mark.parametrize` decorator arguments, even if that is
supposedly more difficult to read (I wouldn't agree). Among the
readability benefits (primarily because of compactness), the imperative
version via a static method throws errors on Python 3.9, presumably
because the `staticmethod` object itself is being returned, not the
bound method object, and the former isn't callable in Python 3.9.
On a related note, a future import for annotations was missing as well.
</pre>
tag:gitlist.org,2012:commit/7f1a2688085588bc44c39306a88f9691ee2142dbMerge topic branch 'hypothesis' into master2024-09-30T15:42:48+02:00Marco Riccisoftware@the13thletter.info
<pre>* t/hypothesis:
Add hypothesis-based tests for SSH wire format serialization
</pre>
tag:gitlist.org,2012:commit/d85d25eaa422dbbd6b4c5798c6fcec0aac5413e6Add hypothesis-based tests for SSH wire format serialization2024-09-30T15:41:53+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/0065c6f5679b86d514a09306b3b76d31a4f39168Merge topic branch 'typing-fixes' into master2024-09-30T15:18:53+02:00Marco Riccisoftware@the13thletter.info
<pre>* t/typing-fixes:
Add changelog entries for Buffer support and documentation fix
Fix bad documentation for SSHAgentClient.request return value
Add proper support for Buffer types in the SSH agent client
Add explicit example in hypothesis test, for test coverage
Overhaul the validation function for vault(1) configurations
</pre>
tag:gitlist.org,2012:commit/320cc9a7f1ff7097b812adcf9c76d6a0ebb48dfeAdd changelog entries for Buffer support and documentation fix2024-09-30T15:18:00+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/005bd61e75457254319a3136ccc5365100258258Fix bad documentation for SSHAgentClient.request return value2024-09-30T15:03:05+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888Add proper support for Buffer types in the SSH agent client2024-09-30T14:35:47+02:00Marco Riccisoftware@the13thletter.info
<pre>As of Python 3.12, any custom Python class can declare support for the
buffer protocol. So instead of special-casing `bytes` and `bytearray`,
and ignoring all other types, support arbitrary classes with buffer
protocol support. Furthermore, explicitly return bytes objects (i.e.,
read-only copies) of all involved byte strings, because the buffer
protocol ensures that copies are relatively cheap.
</pre>
tag:gitlist.org,2012:commit/9e573fa48b3adf6a3bb23b30bf421e885a27f39bAdd explicit example in hypothesis test, for test coverage2024-09-30T10:40:45+02:00Marco Riccisoftware@the13thletter.info
<pre>The test coverage otherwise gets flaky.
</pre>
tag:gitlist.org,2012:commit/2f800b2a75841f37e5ffa2b7f50deaed3137cc10Overhaul the validation function for vault(1) configurations2024-09-30T10:25:58+02:00Marco Riccisoftware@the13thletter.info
<pre>Rewrite `derivepassphrase._types.is_vault_config` into a proper,
validation function `validate_vault_config` that throws errors, and
optionally disallows extension or unknown settings. The old
`is_vault_config` function is then implemented in terms of the new
function.
Use this opportunity to change the return annotation to
`typing_extensions.TypeIs`, because that is what was semantically
intended anyway.
Naturally, throwing actual errors instead of returning `False` means
that the error handling gets bulkier and more fine-grained. Which in
turn means that extra tests are necessary to stay at high test coverage
levels.
</pre>
tag:gitlist.org,2012:commit/f4ad50268204dc42eeb01e287a97eb1e9f8f599cMerge topic branch 'documentation-fixes' into master2024-09-29T23:58:09+02:00Marco Riccisoftware@the13thletter.info
<pre>* t/documentation-fixes:
Add changelog entry for recent documentation fixes
Generate nicer documentation via `scoped_crossrefs`
Convert old syntax for Yields annotations to new syntax
Enable cross-references on function signatures in documentation
Fix bad docstring reference to Python standard library
Rename reference documentation pages as per the Python standard library convention
Update all URLs to stable and "less legally risky" versions, if possible
Demonstrate config storing and SSH agent use in README
Include explanation for virtual environments and package extras in README
Fix miscellaneous small docstring issues
</pre>