https://git.schokokeks.org/derivepassphrase.git/tree/4fbfed4a4de887bd35f295863ea7548989024bf7Recent commits to derivepassphrase.git (4fbfed4a4de887bd35f295863ea7548989024bf7)2026-08-23T12:44:07+02:00tag:gitlist.org,2012:commit/4fbfed4a4de887bd35f295863ea7548989024bf7Always test the "no cryptography support" scenario, shrinking the test matrix2026-08-23T12:44:07+02:00Marco Riccisoftware@the13thletter.info
<pre>Even when the `cryptography` library is available, we test the fallback
behavior of `derivepassphrase export vault` by inhibiting the loading of
`cryptography`. As a result, we no longer need a separate testing
environment for the "no cryptography support" case, and can therefore
halve the number of configurations in our testing matrix. We also no
longer need some associated configuration and helper objects.
In hindsight, I cannot believe I never tried to do a web search on how
to inhibit loading of a module in Python, and rather assumed that just
because pytest does not prominently offer a dedicated top-level function
or a dedicated `monkeypatch` method, that this is not supported. But
seeing the underlying documentation for `importlib.import_module` and
the documentation of how `sys.modules[...] = None` affects the module
resolution, it becomes immediately obvious that this can be handled with
monkeypatching, and does not need a separate virtualenv.
</pre>
tag:gitlist.org,2012:commit/88fbfda029bfec81cf8190c000b1e539017c008cSet the Python path correctly during pytest invocation, round two2026-08-23T12:24:05+02:00Marco Riccisoftware@the13thletter.info
<pre>In commit 0bf24eb16ec698d7759657cb810385ec7388f74c, we added the current
directory explicitly to pytest's `pythonpath` configuration to avoid
failing tests. Further analysis revealed that the culprit was the
multiprocessing module with the `spawn` method, which needs to re-import
the module it is called from (and other helper code from the
`tests.data` and `tests.machinery` submodules), but is not compatible
with some ways of modifying Python's module search path before module
loading.
According to my search results, the common way of dealing with this
problem is instead to add the `tests` path to `pythonpath`, instead of
the parent directory. Furthermore, it is unnecessary to explicitly add
the `src` directory to `pythonpath`, as the virtualenv in which the
tests run already has `derivepassphrase` installed. So we can reduce
the `pythonpath` to only `tests`, and add an appropriate comment as to
why this entry specifically is needed.
We also add comments to the entries in `testpaths`, because it may not
be immediately obvious that the `src` entry is needed for the doctests.
</pre>
tag:gitlist.org,2012:commit/96a6de836795685b74c4172cf8f807fd187bce47Update wishlist to post-v0.6.12026-07-06T21:29:46+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/84cfbefc857e59bbd2379d5201d338fa493d6d54Release 0.6.12026-07-06T21:28:06+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/faad82c15c751fccb56639ec0f63b9181aa93211Merge branch 'release-0.6.1-preparations'2026-07-06T21:20:40+02:00Marco Riccisoftware@the13thletter.info
<pre>Prepare to release derivepassphrase v0.6.1
* release-0.6.1-preparations:
Update wishlist
Update the translation template, the German translation, and the message catalogs
Add changelog entries for economic-test-suite, click-8.4.2-compatibility and openssh-bug3967-workaround
Reformat everything with ruff
Update wishlist
Set the Python path correctly during pytest invocation
</pre>
tag:gitlist.org,2012:commit/6e6b81b3c29295e12d0cfb1cafb86885f9585ddeUpdate wishlist2026-07-06T20:19:03+02:00Marco Riccisoftware@the13thletter.info
<pre>Also reference the new entry in the changelog.
</pre>
tag:gitlist.org,2012:commit/180f4092b7d8f31d577478744bd4cd1de991b2cfUpdate the translation template, the German translation, and the message catalogs2026-07-05T22:34:45+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/f6501cdea5b9af2c5ea73367239b38dd7ef7f69bAdd changelog entries for economic-test-suite, click-8.4.2-compatibility and openssh-bug3967-workaround2026-07-05T22:22:00+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/b21188f464eb047ac53f122b2ec64eb8a8a383acReformat everything with ruff2026-07-05T21:47:45+02:00Marco Riccisoftware@the13thletter.info
<pre>Linting and type checking passes, so nothing to do there.
</pre>
tag:gitlist.org,2012:commit/a696063933df2258448ce50c38cfdfe5ce80a4baUpdate wishlist2026-07-05T21:46:51+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>