Recent commits to derivepassphrase.git (54ea8d4777b561872a1005acc87ddc98002b688c) https://git.schokokeks.org/derivepassphrase.git/tree/54ea8d4777b561872a1005acc87ddc98002b688c Recent commits feed provided by GitList. Undo single-child hatch environment inheritance The "types" and "hatch-static-analysis" hatch environments, which were supposed to both inherit from a common base environment, behave somewhat differently: the former needs dependent packages installed (so `extra-dependencies = [..., "pytest", ...]`, `skip-install = false` and perhaps even `features = [...]`), while the latter doesn't (`skip-install = true`, `extra-dependencies` and `features` are empty). Of course, neither tool needs the other installed either. As such, there is very little content left for an actual common base environment. So, fold all settings from the base environment into the "types" environment, and remove the base environment and the inheritance. https://git.schokokeks.org/derivepassphrase.git/commit/54ea8d4777b561872a1005acc87ddc98002b688c m@the13thletter.info (Marco Ricci) Sat, 24 Aug 2024 14:45:41 +0200 54ea8d4777b561872a1005acc87ddc98002b688c Specify project dependencies more clearly and explicitly Use proper syntax for dependency version specification (spaces, and compatible release operator). If sensible, add a comment as to why we have this dependency, and why at that version. Furthermore, for hatch environments, make use of environment inheritance, and move the dependencies to the correct environments instead of collecting them all in the "dev" extra. https://git.schokokeks.org/derivepassphrase.git/commit/85e34a89c821ee87ab6a9986e21e8001f732c52f m@the13thletter.info (Marco Ricci) Sat, 17 Aug 2024 01:09:23 +0200 85e34a89c821ee87ab6a9986e21e8001f732c52f Sort sections in pyproject.toml https://git.schokokeks.org/derivepassphrase.git/commit/00d96a60b5550f588d29f6eaaee3fc9c21e75094 m@the13thletter.info (Marco Ricci) Sat, 17 Aug 2024 00:52:02 +0200 00d96a60b5550f588d29f6eaaee3fc9c21e75094 Merge topic branch 'issue4-improve-common-error-messages' into master * t/issue4-improve-common-error-messages: Add Changelog entry for error message/handling revision Add missing tests for reworked error message handling Fix error message capitalization Fix error bubbling in outdated test Add a specific error class and codes for SSH agent failures Document and handle other errors passed through to the command-line interface Use better error message handling in the command-line interface GitHub: Closes #4. https://git.schokokeks.org/derivepassphrase.git/commit/e662c2e71c50e57f465fdeb8efb403ed77147e8c m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 17:12:56 +0200 e662c2e71c50e57f465fdeb8efb403ed77147e8c Add Changelog entry for error message/handling revision https://git.schokokeks.org/derivepassphrase.git/commit/0cec4ae52c864d9f772897fef0e069761d6adf1d m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 17:12:38 +0200 0cec4ae52c864d9f772897fef0e069761d6adf1d Add missing tests for reworked error message handling Add missing tests for the revised error messages/classes and error handling code due to a1763e8b5dedbf123856a79ddb0e8395cddd6f88 and 5c6045e10ca9c8b56432711dec5efb98b5892d55. https://git.schokokeks.org/derivepassphrase.git/commit/a128400376d1f51845e8e75b32281a870fb354a7 m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 16:31:24 +0200 a128400376d1f51845e8e75b32281a870fb354a7 Fix error message capitalization We still use error messages with non-sentence case at multiple places, particularly messages like "no valid SSH key selected". https://git.schokokeks.org/derivepassphrase.git/commit/c9e62dd6c58a3b4c627dd5d6dda0b4c4d4ec1330 m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 16:21:45 +0200 c9e62dd6c58a3b4c627dd5d6dda0b4c4d4ec1330 Fix error bubbling in outdated test In `tests.test_derivepassphrase_cli:test_230a_config_directory_not_a_file`, we assumed that a `FileExistsError` while storing the configuration file would bubble all the way up to the test harness. This isn't the case anymore, because of a1763e8b5dedbf123856a79ddb0e8395cddd6f88 and 5c6045e10ca9c8b56432711dec5efb98b5892d55... but we actually forgot to update the call to use the new wrapper from 5c6045e10ca9c8b56432711dec5efb98b5892d55. https://git.schokokeks.org/derivepassphrase.git/commit/f08cd0300661ac562d049604ee81214ced8aad91 m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 16:19:56 +0200 f08cd0300661ac562d049604ee81214ced8aad91 Add a specific error class and codes for SSH agent failures Add the generic `SSH_AGENT_FAILURE` and `SSH_AGENT_SUCCESS` status codes (as `_types.SSH_AGENT.FAILURE` and `_types.SSH_AGENT.SUCCESS`, respectively), and add an `SSHAgentFailedError` class to signal error returns from the SSH agent. The error class may emit a specific or a generic error message, depending on the status code and error message passed. Rewrite the tests to use actual failure status codes, instead of random magic numbers. Rewrite it further to deal with the `_types.SSH_AGENT` enum instead of numeric codes. This also makes the tests more readable. https://git.schokokeks.org/derivepassphrase.git/commit/4eb85f64c8f18a55eb83c3909322a78b11ba6c87 m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 13:27:20 +0200 4eb85f64c8f18a55eb83c3909322a78b11ba6c87 Document and handle other errors passed through to the command-line interface These errors have already been passed through, but they were neither documented nor explicitly handled in the command-line interface with an appropriate error message. https://git.schokokeks.org/derivepassphrase.git/commit/5c6045e10ca9c8b56432711dec5efb98b5892d55 m@the13thletter.info (Marco Ricci) Fri, 16 Aug 2024 12:48:10 +0200 5c6045e10ca9c8b56432711dec5efb98b5892d55