Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DSDL linter #68

Open
pavel-kirienko opened this issue Sep 9, 2019 · 0 comments

Comments

@pavel-kirienko
Copy link
Member

commented Sep 9, 2019

We need to have this script transformed into a standalone reusable DSDL linter:

https://github.com/UAVCAN/public_regulated_data_types/blob/uavcan-v1.0/test.py

Business requirements:

  • Implemented as a standalone Python script dependent only on PyDSDL.
  • Ensure that the formatting recommendations provided in the specification are followed.
  • Support for definition-wide diagnostic suppression using pragmas.
  • Ensure the header comment is provided for all data types. Allow the caller to specify which namespaces should be allowed to bypass this requirement.
  • Allow the caller to specify the maximum size of serialized representations. Provide a pragma to override this.
  • Ensure ASCII charset; prohibit tabs and \r (carriage return).
  • Non-zero return code if a violation is found.

I am not sure where the script should be located; could be the PyDSDL repo or just a separate gist?

Original comment: https://github.com/UAVCAN/public_regulated_data_types/pull/67/files/acb48c15288510bffea3797d76e3eca21d6413dc#r322079388

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.