Issue #13509 has been updated by Chris Price.
Sweet... thanks for the background, Jeff. Do you have any thoughts on the best way to take the patterns that you are using for stdlib and leverage them for other modules? ---------------------------------------- Feature #13509: Establish or solidify pattern for testing modules https://projects.puppetlabs.com/issues/13509#change-58981 Author: Chris Price Status: Accepted Priority: Normal Assignee: Category: Target version: Telly Affected Puppet version: Keywords: Branch: This probably isn't actually going to happen in the Telly time frame, but I wanted to make sure that this ticket doesn't slip through the cracks. We need a consistent plan / pattern for testing modules--both for internal use and for third-party module developers. There are lots of moving pieces here... Nick L. brought a few very salient points to our attention recently: 1. How do we decide what versions of puppet to run against? There are a lot of sub-questions here as well--how do we automate the tests against the desired matrix of puppet versions? Can we somehow record the compatibility results of the tests and add them to the metadata for the module automatically? If we decide on some framework for writing and running module tests, and it relies on API in puppet core that does not exist yet, then we're guaranteeing that modules will only be able to be tested against recent versions of puppet in each series (2.7.x, master, etc.). Is this a problem? 2. The modules will probably have some dependencies on *something* in puppet core--something like a "puppet core spec api", e.g. to request setup/teardown of test state for things like puppet settings. How do we expose this somewhere where it is accessible to modules? We probably don't want to force devs to check out the actual puppet source if we can avoid it, but if they're developing against puppet from a distro (deb/rpm/etc) then it's likely that our current spec_helper and related libs will not be bundled with their distro. We may need to add something inside the main "lib" folder that provides this API so that we know it will get included in distros. (This issue came up #13439, and resulted in a hacky pull request: https://github.com/puppetlabs/puppet-grayskull/pull/94 . That one was subsequently replaced with the slightly improved: https://github.com/puppetlabs/puppet-grayskull/pull/96 , but we probably need a more general solution. As Nick pointed out, this gives us a general solution for dealing with Puppet::Util::Settings setup / teardown, but it does not deal with the rest of the stuff that is happening in spec_helper... and it would be better to have a single setup/teardown endpoint somewhere in the puppet code that could handle everything.) 3. Rubies? 4. CI integration? 5. Interface? Nick suggested maybe a face/action "puppet module test", which would be awesome... Other considerations...? -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
