https://git.schokokeks.org/derivepassphrase.git/tree/b0d6fe8ee3208a5c123e546aa931ce06306ad8f6Recent commits to derivepassphrase.git (b0d6fe8ee3208a5c123e546aa931ce06306ad8f6)2024-10-03T13:40:52+02:00tag:gitlist.org,2012:commit/b0d6fe8ee3208a5c123e546aa931ce06306ad8f6Update required Python version in the README2024-10-03T13:40:52+02:00Marco Riccisoftware@the13thletter.info
<pre>This was forgotten while adding Python 3.9 support.
</pre>
tag:gitlist.org,2012:commit/7bd5c68e2b3448a44f2b0faeb3025e9974ed3fb6Relax hypothesis deadline for another slow-ish test2024-10-03T13:30:36+02:00Marco Riccisoftware@the13thletter.info
<pre>The vault settings validation test keeps timing out on my older
hardware, when running without the C tracer and at moderate power saving
settings. I can only presume it would time out similarly on even
lower-powered hardware, such as a Raspberry Pi.
</pre>
tag:gitlist.org,2012:commit/ba27276a76a263a2d866bc55eca012f927c34877Merge topic branch 'issue15-graceful-af_unix-degredation' into master2024-10-02T20:35:24+02:00Marco Riccisoftware@the13thletter.info
<pre>* t/issue15-graceful-af_unix-degredation:
Fail gracefully if UNIX domain socket support is unavailable
GitHub: Closes #15.
</pre>
tag:gitlist.org,2012:commit/27f9bd183d7b124ddf137b536d1063dd64db3c66Fail gracefully if UNIX domain socket support is unavailable2024-10-02T19:26:30+02:00Marco Riccisoftware@the13thletter.info
<pre>To talk to the SSH agent, we currently require UNIX domain socket
support, but not every Python on every system supports this (notably:
Windows). If we detect such missing support, fail gracefully and with
a useful error message, instead of a technical reason such as
`AttributeError`.
Besides the new failure modes that API consumers will need to handle,
this results in one more observable change: socket objects passed to the
`SSHAgentClient` constructor are now required to be already connected.
The constructor will no longer prepare sockets it didn't create itself
in any way.
This new failure behavior also has consequences for the tests, which so
far have naively assumed UNIX semantics and UNIX domain socket support.
So change the testing machinery to automatically skip any test that
involves constructing a custom SSH agent client *and* expecting that
step to go well. Furthermore, since the "no support" constellation can
be reasonably well simulated even on systems that *do* have UNIX domain
socket support (via pytest's monkeypatching fixture), include explicit
tests on the API and the CLI level for the "no support" constellation,
in any case.
</pre>
tag:gitlist.org,2012:commit/2511d75900a3fddc676ede50f9b5310a6dae8b97Merge topic branch 'support-py39' into master2024-10-02T09:32:06+02:00Marco Riccisoftware@the13thletter.info
<pre>* t/support-py39:
Add changelog entry for Python 3.9 support
Add support for Python 3.9
Accomodate known slow tests in hypothesis deadline
Fix awkward parametrization declaration for SSH agent client tests
</pre>
tag:gitlist.org,2012:commit/b815a40b7b829470af7ea98e4065a563e518d963Add changelog entry for Python 3.9 support2024-10-02T09:31:40+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/eea542a5c4507c46f795152b3e6577b1408df4bdAdd support for Python 3.92024-10-01T11:51:05+02:00Marco Riccisoftware@the13thletter.info
<pre>Support Python 3.9 by not using the following features:
- `match`/`case` statements; replace them with `if`-statements
- annotation-like class unions in `isinstance`; use a tuple instead
- `TypeAlias` objects; write these as strings
- the `root_dir` parameter of `glob.glob`; build the file list via
`fnmatch.fnmatch` ourselves
</pre>
tag:gitlist.org,2012:commit/37a84d7952f9b6a09b4404cf36ea6c2b5dd2a020Accomodate known slow tests in hypothesis deadline2024-10-01T11:36:02+02:00Marco Riccisoftware@the13thletter.info
<pre>With coverage measurement enabled, program execution can slow down by
a factor of roughly 40 if the Python tracer is used, instead of the
C tracer. In some configurations, only the Python tracer is available.
To avoid timing out on tests that otherwise would be okay with default
settings, manually reset those tests' deadline to 40 times their
original value; currently only one test is affected.
</pre>
tag: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>