Recent commits to derivepassphrase.git (2b5f666c4181f5bf899f3b1712febc2a627ea161) https://git.schokokeks.org/derivepassphrase.git/tree/2b5f666c4181f5bf899f3b1712febc2a627ea161 Recent commits feed provided by GitList. Do not suppress OSError when constructing Windows named pipes in test fixtures Let any OSError that occurs when opening the named pipe bubble to the top of the test fixture, instead of suppressing it and indicating that the named pipe is unavailable. At the top level, the test fixture can then incorporate the error text into the failure or skip message (which would otherwise be invisible if suppressed further down). https://git.schokokeks.org/derivepassphrase.git/commit/2b5f666c4181f5bf899f3b1712febc2a627ea161 software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 18:52:29 +0100 2b5f666c4181f5bf899f3b1712febc2a627ea161 In the test suite, correctly calculate if an SSH agent is isolated In particular, pay consideration to interfaced agents, not just spawned ones. https://git.schokokeks.org/derivepassphrase.git/commit/ae7169521ae86366c151d34b8ab6cba4855241be software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 18:42:06 +0100 ae7169521ae86366c151d34b8ab6cba4855241be Fix recognition of Pageant in the test fixtures When reacting to failures uploading a test key into an agent, both the agent type `KnownSSHAgent.UNIXPageant` and the type `KnownSSHAgent.Pageant` should be treated the same. However, the `ssh_agent_client_with_loaded_test_keys` only treated the former agent type specially. Now it also treats the latter type the same. https://git.schokokeks.org/derivepassphrase.git/commit/73fb62ada4ff63a4b89995680a4a048d48ec2d54 software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 18:26:50 +0100 73fb62ada4ff63a4b89995680a4a048d48ec2d54 Unload loaded test keys in the fixture more efficiently Instead of iterating over all test keys and testing whether the agent is not isolated and the key is a successfully loaded key, first check whether the agent is isolated or not, *then* iterate over the successfully loaded key names and extract the relevant test key from the test key table. The efficiency per operation is similar, but the previous setup always iterated the whole test key table unconditionally, whereas the new setup only iterates the successfully loaded key name set (fewer entries than the test key table), and only conditionally. https://git.schokokeks.org/derivepassphrase.git/commit/9bbcb557c6818f6950dbcd20cc27fae147572319 software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 17:33:06 +0100 9bbcb557c6818f6950dbcd20cc27fae147572319 Document the "test key uploading" helper functions Add docstrings to the `_prepare_payload` and `_load_key_optimistically` helper functions. Also change the signature of `_load_key_optimistically` to take the test key structure directly, instead of taking a (dict) key to lookup the structure. (These types of things become apparent when writing docstrings, even for otherwise internal functions.) https://git.schokokeks.org/derivepassphrase.git/commit/f3513835b687058962e571fa6648fbad6e28d1ec software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 17:19:38 +0100 f3513835b687058962e571fa6648fbad6e28d1ec Auto-format the "test key uploading" fixture and helper functions, again https://git.schokokeks.org/derivepassphrase.git/commit/1ea2ba094e6e877e42a4d3e84c0483a66bbbfeca software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 17:10:07 +0100 1ea2ba094e6e877e42a4d3e84c0483a66bbbfeca Convert the helper function `_load_keys_optimistically` into a per-key function The function is now called `_load_key_optimistically`, and returns a success indication whether the key was (potentially already) loaded or not. Also, the private key blob cannot be `None` anymore, so the function no longer has degenerate cases. https://git.schokokeks.org/derivepassphrase.git/commit/71f2f540c1f2e12948c0dd11b8eaef98233d396b software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 17:01:22 +0100 71f2f540c1f2e12948c0dd11b8eaef98233d396b Auto-format the "test key uploading" fixture and helper functions https://git.schokokeks.org/derivepassphrase.git/commit/40ecd7a6fd47f1103cd203d437b9ff9b8efd6556 software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 15:15:35 +0100 40ecd7a6fd47f1103cd203d437b9ff9b8efd6556 Split the "test key loading" fixture function Extract the `_prepare_payload` and the `_load_keys_optimistically` helper functions from the `ssh_agent_client_with_test_keys_loaded` fixture function. The `_load_keys_optimistically` helper function needs further refactoring into a per-key function, not a per-keyset function; to be added in a following commit. https://git.schokokeks.org/derivepassphrase.git/commit/4bfe78dfbae036695c68fbe80bb060c926a80d1c software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 15:09:33 +0100 4bfe78dfbae036695c68fbe80bb060c926a80d1c Prepare the splitting of the "test key loading" fixture function The `ssh_agent_client_with_test_keys_loaded` fixture function is due to be split, moving the upload bits and the `prepare_payload` function to new top-level helper functions. Rename the `prepare_payload` function, and add parameter definitions so that the extracted functions will make immediate sense. https://git.schokokeks.org/derivepassphrase.git/commit/b0b10b66acf32597b853b36fd55a048dfde977ba software@the13thletter.info (Marco Ricci) Sat, 27 Dec 2025 14:57:17 +0100 b0b10b66acf32597b853b36fd55a048dfde977ba