labgrid-project / labgrid-project/labgrid
Unify Errors and Exceptions
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 528
- Forks
- 278
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 4
Description
We have currently use ExecutionError all over the stack and do not distinguish whether it is a function interacting with the target or a function used to communicate over SSH. Similarly, the remote client defines its own Error class and only handles exceptions for the derived exceptions of this class correctly. We should come up with a fitting hierarchy and implement this, this would allow us to emit better error messages on the user side. This will be a breaking change.
Maybe somethign similar to:
LabgridException
+-- TargetError
| +-- DriverError
| | +-- DriverExecutionError
| | | +-- ShellExecutionError
| | | +-- SSHExecutionError
+-- UtilError
| +-- SSHUtilError
| +-- ProcessManagerError
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inventorying the existing ExecutionError usage across the stack and the remote client's Error class and exception handling. Done means a fitting hierarchy distinguishes target, driver, shell, SSH, utility, and process-manager errors, with clearer user-facing messages and the breaking change accounted for.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100