https://git.schokokeks.org/derivepassphrase.git/tree/df99312f030ab62b3b565ae072f3b44cf23936e8 Recent commits to derivepassphrase.git (df99312f030ab62b3b565ae072f3b44cf23936e8) 2025-02-02T15:32:18+01:00 tag:gitlist.org,2012:commit/df99312f030ab62b3b565ae072f3b44cf23936e8 Merge topic branch 'usage-fixes' into master 2025-02-02T15:32:18+01:00 Marco Ricci software@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 &lt;/pre&gt; tag:gitlist.org,2012:commit/14bb7ea6b91e37880114372d78af639a304a9909 Reorder parametrizations with modified argument lists 2025-02-02T13:39:03+01:00 Marco Ricci software@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/199474b2ff325c51608426f7992ba0830610fcf0 Implement all parametrization-related changes suggested in the TODOs 2025-02-02T11:55:25+01:00 Marco Ricci software@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 &lt;/pre&gt; tag:gitlist.org,2012:commit/d1977d9a206d1bc787a00d1d71abb1374d492ba9 Convert Parametrizations enums to Parametrize namespace 2025-02-01T23:25:35+01:00 Marco Ricci software@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. &lt;/pre&gt; tag:gitlist.org,2012:commit/7ad2c7a5b65deb79dff20352ffdab7477a79f907 Consolidate test parametrizations per test module 2025-02-01T15:55:49+01:00 Marco Ricci software@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.) &lt;/pre&gt; tag:gitlist.org,2012:commit/9f32d01e5eb9ccb15d406f7781e0c2ae95ab8c23 Resolve dependency versions explicitly in pyproject.toml 2025-01-31T18:03:02+01:00 Marco Ricci software@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. &lt;/pre&gt; tag:gitlist.org,2012:commit/88436ca428fc4cd1a25f4a3cf9d9a54845f8be1c Fix inconsistent indentation in pyproject.toml 2025-01-31T15:37:32+01:00 Marco Ricci software@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/bb88253ddbdc2db185778934c3c0b3bbc91b4555 Add static analysis and testing dependencies to "dev" extra 2025-01-31T15:20:21+01:00 Marco Ricci software@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.) &lt;/pre&gt; tag:gitlist.org,2012:commit/b6d98c77f7f78abacb69b4aa3acd896008a848d6 Remove type annotations from enum value definitions 2025-01-31T15:18:20+01:00 Marco Ricci software@the13thletter.info <pre>Apparently type checkers have always internally assigned new Literal types to those enum names, and are now also instructed to flag explicit type annotations as errors. For Griffe/mkdocstrings-python, this means we'll need to fill the attribute table manually. *sigh* &lt;/pre&gt; tag:gitlist.org,2012:commit/e974c931a62fc5e8adc9b08b30f80085668a2f9d Fix formatting nitpicks from ruff 2025-01-31T15:03:58+01:00 Marco Ricci software@the13thletter.info <pre>&lt;/pre&gt;