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.

Reply via email to