-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
#23 Parsing failures management #42
Conversation
Added observer to listen for parsing failures. Code clean up.
Added parsing failures management for each line parser. Created silent and simple failure observer classes
Added parsing failure tests. Removed old and no more valid tests
…e character is used as separator. Updated and added some test EnumCustomProperty parsing fails if more than one white-space chracter is used as separator. Updated and added some test, code clean up.
Hi @Whitehouse112 , thanks for the effor in this PR. I am not sure if it is nomal, however if I run the Demo, I get the follwing warnings/failures: |
Hi @EFeru,
Regards |
Now every NS definition at the top of a file is ignored
"Unknown syntax" is fixed. The following remained: If I look in the dbc file indeed I see negative values for |
So this library supports only unsigned integer since the only documentation available states that. This document is from 2010, I don't know if it has been updated, I looked for a recent version without success. |
Hi, It's very important that we find a reference and we stick with it. The document linked by @Whitehouse112 is by far the most complete and detailed resource we could find on the web. How is CANdb++ behaving with those lines? My 2 cents |
CANdb++ just adds the value description without complains. Edit: Just for completness, for the tesla dbc file, CANdb++ gives these results when running the consistency checks: |
Added IParseFailureObserver interface that defines parsing errors handling methods. Methods deal with both syntax errors and duplicated/not found key/name errors for nodes, messages, signals and so on.
Provided two implemetations for the interface:
1 - SilentFailureObserver: does nothing, like today. It's the default observer
2 - SimpleFailureObserver: save each error in a list of string
Added several tests for each parsing failure error
Update Demo application to print errors, if any, using the SimpleFailureObserver class.