https://git.schokokeks.org/derivepassphrase.git/tree/314f65ee96a03034e2d19eed2399fc14d9623b09Recent commits to derivepassphrase.git (314f65ee96a03034e2d19eed2399fc14d9623b09)2025-04-09T21:58:45+02:00tag:gitlist.org,2012:commit/314f65ee96a03034e2d19eed2399fc14d9623b09Merge topic branch 'documentation-fixes' into master2025-04-09T21:58:45+02:00Marco Riccisoftware@the13thletter.info
<pre>* documentation-fixes:
Reintroduce explicit type annotations for vault CLI arguments
</pre>
tag:gitlist.org,2012:commit/4076d407e367536615cd63029a167c8710a2a17cReintroduce explicit type annotations for vault CLI arguments2025-04-09T21:53:48+02:00Marco Riccisoftware@the13thletter.info
<pre>The command-line function for the "vault" subcommand is now implemented
by accepting wildcard keyword arguments, so `mkdocstrings-python` no
longer has explicit type information for the known list of keyword
arguments to fall back on. So, explicitly (re-)annotate that list with
type information.
</pre>
tag:gitlist.org,2012:commit/fcf724d2e617a7480c8ff1d380fcb378c4e50c33Merge topic branch 'click-820-expected-incompatibilities' into master2025-04-09T19:47:01+02:00Marco Riccisoftware@the13thletter.info
<pre>* click-820-expected-incompatibilities:
Fix expected incompatibilities in the CLI machinery with click 8.2.0
</pre>
tag:gitlist.org,2012:commit/bbac630952e16e4ba0e9f7eef3c7538b4edbe646Fix expected incompatibilities in the CLI machinery with click 8.2.02025-04-09T19:43:39+02:00Marco Riccisoftware@the13thletter.info
<pre>click 8.2.0 is currently in pre-release, though a release candidate has
already been tagged as such. This candidate deprecated some internals,
which we access. Thus fix what we can reasonably assume will otherwise
be broken by click 8.2.0.
</pre>
tag:gitlist.org,2012:commit/d539649e3f89b92ff3123ebd8a2dddce40f24719Merge topic branch 'cleanup-lockfiles-in-test-harness' into master2025-04-09T19:29:34+02:00Marco Riccisoftware@the13thletter.info
<pre>* cleanup-lockfiles-in-test-harness:
Clean up configuration write lock files in the test suite
</pre>
tag:gitlist.org,2012:commit/34c4a591bc6fdd3f5856f169f645dc07f0560bccClean up configuration write lock files in the test suite2025-04-09T19:27:50+02:00Marco Riccisoftware@the13thletter.info
<pre>When using a temporary, isolated `derivepassphrase` configuration
directory in the test suite, also clean up the matching configuration
write lock file, which is not located in the configuration directory.
</pre>
tag:gitlist.org,2012:commit/9071ba82c566b077fb9869fca831bc24762fe151Merge topic branch 'selection-menu-to-stderr' into master2025-04-09T19:24:00+02:00Marco Riccisoftware@the13thletter.info
<pre>* selection-menu-to-stderr:
Emit selection menu to standard error
</pre>
tag:gitlist.org,2012:commit/e06ec891b7a9924d410f005166b88d99c76ce278Emit selection menu to standard error2025-04-09T19:20:13+02:00Marco Riccisoftware@the13thletter.info
<pre>Consider the heading and the menu printed before a prompt as diagnostic
information, and output it to standard error.
</pre>
tag:gitlist.org,2012:commit/fc1cdf966c5753cdcb319a8e530b4c749951574aMerge topic branch 'abstract-cli-runner' into master2025-04-09T19:17:57+02:00Marco Riccisoftware@the13thletter.info
<pre>* abstract-cli-runner:
Wrap click.testing.CliRunner to directly return a ReadableResult
</pre>
tag:gitlist.org,2012:commit/d0a09fd0894b931b21a5908f96729dbe357d9ff5Wrap click.testing.CliRunner to directly return a ReadableResult2025-04-09T19:16:36+02:00Marco Riccisoftware@the13thletter.info
<pre>Instead of using `click.testing.CliRunner` directly and transforming the
result, wrap the runner in a new class that does the necessary
transformations on the result automatically.
This indirection of the CLI runner also allows the wrapper to cope with
(some) incompatible changes in `click` across versions, or even
eventually swap out the underlying implementation completely.
As a first incompatibility to bridge, `click` 8.2.0 (currently in beta)
merges many bad or incomplete fixes for long-standing issues, but with
no regard to backward compatibility. Of particular relevance,
`click.testing.CliRunner` no longer accepts the `mix_stderr`
argument,[^1] and the meanings of the `output` and the `stdout`
attribute of `click.testing.Result` have changed.[^2] These two
incompatibilities are handled by the wrapper.
[^1]: This breaks practically every call to the runner: `mix_stderr`
defaults to `True`, thus the default behavior is to mangle the output
streams. Why would you want that, in your testing machinery no less,
where automatically mangling or discarding information behind the
scenes is detrimental to debugging?! As a consequence, `mix_stderr`
*has* to be specified if you want output streams not to be mangled,
and if you want them to be mangled, you *should* specify `mix_stderr`
explicitly. So basically, you always specify `mix_stderr`. And thus
removing the (definition of the) `mix_stderr` argument breaks
practically every call to the runner.
[^2]: This is complementary to the removal of the `mix_stderr`
argument: the mixed output is now always stored in the `output`
attribute, and the `stdout` is the true standard output. Of course,
this contradicts the previous use of `output` and `stdout`, where
`output` was the true standard output, and `stdout` was a convenience
alias via an extra layer of redirection.
</pre>