I am also very interested in this to enable Geppetto to also provide the
same feedback. One difficulty I have faced is to find good samples that
should trigger different kinds of warnings and errors. I have collected
some in Geppetto's tests, and I keep adding more over time.
Biggest difficulty however are unclear language semantics ;) or issues
like the 'hyphen in variable name'. Anyway...
It may be of value to set up a shared repository at github with samples
that contains problems for the tools (lint, geppetto, or the puppet
runtime) to process and where the expected outcome is perhaps described
in comments (or some other simple mechanism). The various tool projects
can then use this for their unit tests + naturally learn about tips and
tricks. It should be really easy for anyone to contribute a sample
documented with expected outcome.
I think it is also of value to include examples that result in
errors/warnings at runtime - i.e. not so much a "lint" issue, but
various real problems and how the are reported. This for the same
purpose; unit test that the tools find these as expected and report
problems in a good way.
I can see my self contributing to such a joint effort.
What do you think?
Regards
- henrik
On 2011-19-12 21:00, James Turnbull wrote:
So some of you may be aware that Tim Sharpe from GitHub wrote a Puppet
linting tool:
$ gem install puppet-lint
$ puppet-lint mymanifest.pp
Source: https://github.com/rodjek/puppet-lint
The linting tool checks Puppet code for "best practice" based on the
Puppet Labs Style Guide:
http://docs.puppetlabs.com/guides/style_guide.html
A lot of us have been using puppet-lint (and puppet parser validate) to
ensure our code is synoptically correct and as "best practice" as
possible.
We're also aware that there are some strange and odd things in the
Puppet language and whilst we can't fix all them right now we'd like to
find a way to highlight items and syntax that is sub-optimal for you via
linting.
So what can you do to help? Well firstly help us identify any syntax,
language constructions, structures etc that have caused issues for you
or that when used result in errors or issues. You can let us know about
these in three ways:
* Submit patches and additions to the linting tool. Patches in the form
of failing tests are especially welcome if you aren't comfortable adding
new tests yourself.
* Email me or the list with tickets containing issues like this.
* Send me or the list snippets of Puppet code that cause issues and the
output/issue they result in.
We'll also look at tracking as many of these as possible and where
relevant update the Style Guide with them too.
Cheers
James
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.