Better Error reporting
- Dominant language
- Python
- Stars
- 24
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
This ticket collects things to improve on error reporting, when the tools get incorrect input.
1) If no Interface is in the YAML, then no output. The D-Bus generator doesn't fail until the XML-reformatting where it says there is no start node (with an ugly exception backtrace).
Instead, check that an Interface node exists and/or check if generation result is empty, and report it to the user.
2) Related to the above, the current template-driven generators like BAMM, DTDL, and protobuf need to be updated for Interface. They don't fail because they just loop over "all methods in the Namespace", etc. So if there aren't any, the output will be mostly empty. Anyhow, perhaps this could be considered correct behavior for a file without an Interface node, but they should be updated.
Ultimately, add a check for Interface node, in the generic `ifexgen` - at least it probably should output a warning.
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the generic `ifexgen` entry point and the D-Bus, BAMM, DTDL, and protobuf generators described in the issue. Check how each handles YAML without an Interface node and how empty generation results are reported. Done means invalid input produces a clear warning or error instead of an ugly traceback or mostly empty output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100