https://git.schokokeks.org/derivepassphrase.git/tree/964080305311407bbb1921a211e5e56aaacc8594Recent commits to derivepassphrase.git (964080305311407bbb1921a211e5e56aaacc8594)2025-02-05T11:52:22+01:00tag:gitlist.org,2012:commit/964080305311407bbb1921a211e5e56aaacc8594Add indentation and line breaks in vault configurations2025-02-05T11:52:22+01:00Marco Riccisoftware@the13thletter.info
<pre>Ensure that when writing out the configuration, we add indents and
linebreaks.
</pre>
tag:gitlist.org,2012:commit/13c44292debb91533bce13b47f589171fae22369Add xfailing tests for indentation and line breaks in vault configurations2025-02-05T11:44:22+01:00Marco Riccisoftware@the13thletter.info
<pre>Though the on-disk vault configurations are not intended to be managed
by the user, it is valuable for debugging and lay examination for them
to be readable and editable anyway; doubly so if the configuration is
being exported. So ensure that when writing out the configuration, we
add indents and linebreaks.
This commit only adds the xfailing tests for this functionality, not the
implementation itself. Additionally, since there was no simple test
akin to config importing but for config exporting, we added the latter
on the basis of the former, and renumbered the other export (failure)
tests accordingly.
</pre>
tag:gitlist.org,2012:commit/df99312f030ab62b3b565ae072f3b44cf23936e8Merge topic branch 'usage-fixes' into master2025-02-02T15:32:18+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/usage-fixes:
Reorder parametrizations with modified argument lists
Implement all parametrization-related changes suggested in the TODOs
Convert Parametrizations enums to Parametrize namespace
Consolidate test parametrizations per test module
Resolve dependency versions explicitly in pyproject.toml
Fix inconsistent indentation in pyproject.toml
Add static analysis and testing dependencies to "dev" extra
Remove type annotations from enum value definitions
Fix formatting nitpicks from ruff
Document general changes to the test suite since 0.4.0
Document change in testing setup
Adjust hypothesis deadlines globally and redo the profiles and slowdown factors
</pre>
tag:gitlist.org,2012:commit/14bb7ea6b91e37880114372d78af639a304a9909Reorder parametrizations with modified argument lists2025-02-02T13:39:03+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/199474b2ff325c51608426f7992ba0830610fcf0Implement all parametrization-related changes suggested in the TODOs2025-02-02T11:55:25+01:00Marco Riccisoftware@the13thletter.info
<pre>Most of these are straight-forward cases of renaming, consolidating, or
yielding additional parameters.
Regarding the TODOs in the `ssh_agent` test module dealing with `skip`
and `xfail` messages, I decided to follow [Paul Ganssle's use of
`xfail`][GANSSLE_XFAIL]: "use `skip` for tests that *aren't supposed to
work*", and "use `xfail` for tests that *should, but currently don't
pass*". (In other words, for `skip`, the failure is external to the
system under test and cannot be accomodated for; for `xfail`, it is
internal, or part of the system under test's job to accomodate for it.)
For the aforementioned tests for the `ssh_agent` module, both `skip`
messages occur because of unsatisfied assumptions on the running SSH
agent (a test key isn't loaded, or one kind of failure mode doesn't
occur with this agent), so they shall both remain `skip` messages.
[GANSSLE_XFAIL]: https://blog.ganssle.io/articles/2021/11/pytest-xfail.html
</pre>
tag:gitlist.org,2012:commit/d1977d9a206d1bc787a00d1d71abb1374d492ba9Convert Parametrizations enums to Parametrize namespace2025-02-01T23:25:35+01:00Marco Riccisoftware@the13thletter.info
<pre>Switch out `enum.Enum` for `types.SimpleNamespace` to collect the
various `pytest.mark.parametrize` decorators: it works equally well in
practice when coupled with a type checker, and it avoids having to
unpack the enum value when actually calling the decorator. Opt for the
shorter name `Parametrize` instead of `Parametrizations`.
Also consolidate the two versions of the `VAULT_CONFIG_FORMATS_DATA`
parametrization set by moving it into a dedicated namespace in the
top-level `tests` package.
</pre>
tag:gitlist.org,2012:commit/7ad2c7a5b65deb79dff20352ffdab7477a79f907Consolidate test parametrizations per test module2025-02-01T15:55:49+01:00Marco Riccisoftware@the13thletter.info
<pre>Collect all calls to `pytest.mark.parametrize` in a per-module enum.
This deduplicates the definitions and highlights inconsistencies.
(For the CLI test module, the shell formatter functions were moved above
the enum to avoid NameErrors.)
</pre>
tag:gitlist.org,2012:commit/9f32d01e5eb9ccb15d406f7781e0c2ae95ab8c23Resolve dependency versions explicitly in pyproject.toml2025-01-31T18:03:02+01:00Marco Riccisoftware@the13thletter.info
<pre>Remove the `~=` version specifiers in favor of `>=` specifiers, and only
use explicitly tested versions as minimum version requirements.
Also explicitly list pytest plugins and coverage plugins as
dependencies.
</pre>
tag:gitlist.org,2012:commit/88436ca428fc4cd1a25f4a3cf9d9a54845f8be1cFix inconsistent indentation in pyproject.toml2025-01-31T15:37:32+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/bb88253ddbdc2db185778934c3c0b3bbc91b4555Add static analysis and testing dependencies to "dev" extra2025-01-31T15:20:21+01:00Marco Riccisoftware@the13thletter.info
<pre>This also enables the static analysis environment to directly use the
"dev" extra instead of re-declaring all dependencies. (Sadly, the
testing environment needs manual re-declaration, because `cryptography`
is a transitive dependency of `hatch`, but the test suite needs to test
the "no cryptography support" scenario too.)
</pre>