<feed xmlns='http://www.w3.org/2005/Atom'>
<title>puppet/spec/unit/parser, branch master</title>
<subtitle>[no description]</subtitle>
<id>https://git.osdyson.ru/pkg-puppet/puppet/atom?h=master</id>
<link rel='self' href='https://git.osdyson.ru/pkg-puppet/puppet/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/'/>
<updated>2014-10-16T23:37:46Z</updated>
<entry>
<title>(PUP-3201) Stop using :undef for parameters in 4x</title>
<updated>2014-10-16T23:37:46Z</updated>
<author>
<name>Andrew Parker</name>
<email>andy@puppetlabs.com</email>
</author>
<published>2014-10-16T23:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=d4b882760269060287bd8325548eea2a29f64506'/>
<id>urn:sha1:d4b882760269060287bd8325548eea2a29f64506</id>
<content type='text'>
The :undef symbol was still leaking all over the place internally. This
caused type inference to sometimes end up with Runtime[ruby, Symbol]. By
using nil instead of :undef, everything can be much more
straightforward. Once the code removal for puppet 4 comes into play even
more oddities around how resource parameters are handled can be
performed.
</content>
</entry>
<entry>
<title>(maint) Only test lookup() with future parser</title>
<updated>2014-10-16T21:20:00Z</updated>
<author>
<name>Andrew Parker</name>
<email>andy@puppetlabs.com</email>
</author>
<published>2014-10-16T21:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=a40cfd624fbc7380690d76a6cb691225e0e9eeba'/>
<id>urn:sha1:a40cfd624fbc7380690d76a6cb691225e0e9eeba</id>
<content type='text'>
The lookup function only works when the future parser is in effect. This
changes the spec tests to turn on the future parser.
</content>
</entry>
<entry>
<title>(PUP-3351) Test using example of problematic behavior</title>
<updated>2014-10-03T19:58:40Z</updated>
<author>
<name>Andrew Parker</name>
<email>andy@puppetlabs.com</email>
</author>
<published>2014-10-03T00:18:39Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=b62ec8c7d1c3f7c6a34e804f0c568275e77a2aa4'/>
<id>urn:sha1:b62ec8c7d1c3f7c6a34e804f0c568275e77a2aa4</id>
<content type='text'>
After talking with Reid Vandewiele, it turns out that the problematic
behavior isn't directly the order of the classes themselves. Previous
assertions that there are possible conflicts from the classes when they
were done in one order or another are incorrect. The classes, when any
have parameters, are kept by the node in a hash keyed off of the class
name, which means that there is no possibility of them creating a
duplicate resource error.

The actual usecase comes down to *how* parameterized classes vs
unparameterized classes are often used. A parameterized class can often
be simply a set of shared data that the unparameterized classes depend
on (or inherit from) parameterized classes.

This modifies the test case for the reordering change to provide an
example of the use case here.
</content>
</entry>
<entry>
<title>(PUP-3351) Evaluate ENC classes in the correct order</title>
<updated>2014-10-03T19:58:40Z</updated>
<author>
<name>Jeff McCune</name>
<email>jeff@puppetlabs.com</email>
</author>
<published>2014-09-26T18:09:04Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=378b656d9de32b644c16e0e3f3e6aefd45af4304'/>
<id>urn:sha1:378b656d9de32b644c16e0e3f3e6aefd45af4304</id>
<content type='text'>
Without this patch classes declared from an ENC are evaluated in the
wrong order.  This is a problem because classes declared without
parameters are evaluated prior to classes with parameters which causes
an Error: Duplicate declaration when the classes with parameters are
evaluated.  According to the code comments for the
`evaluate_node_classes` method, the expected behavior is that classes
with an empty set of parameters will not conflict with classes that have
declared parameters.
</content>
</entry>
<entry>
<title>(PUP-3069) Change restrict_environment_manifest name</title>
<updated>2014-08-29T21:53:36Z</updated>
<author>
<name>Josh Partlow</name>
<email>joshua.partlow@puppetlabs.com</email>
</author>
<published>2014-08-29T21:53:36Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=4f67f7b93a1c7517240d8a9948a5107a2a424723'/>
<id>urn:sha1:4f67f7b93a1c7517240d8a9948a5107a2a424723</id>
<content type='text'>
After discussion with Nick Fagerlund and Henrik Lindberg, changing
restrict_environment_manifest setting to
disable_per_environment_manifest to more clearly reflect what the
setting does.
</content>
</entry>
<entry>
<title>(PUP-3069) Halt compile if environment has manifest conflict</title>
<updated>2014-08-29T18:33:21Z</updated>
<author>
<name>Josh Partlow</name>
<email>joshua.partlow@puppetlabs.com</email>
</author>
<published>2014-08-28T22:41:14Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=acf6f9b4a6b1489f9b1e5d7d85a236324e53470c'/>
<id>urn:sha1:acf6f9b4a6b1489f9b1e5d7d85a236324e53470c</id>
<content type='text'>
Henrik brought up that with the new restrict_environment_manifest
setting set true, authors of modules in a particular environment
may be surprised by a manifest they have specified in their
environment.conf not being pulled in, leading to bad behavior when a
catalog is executed.  Although this is logged on the master, compilation
delivery and catalog execution is not prevented.

This commit will raise an exception on the master prior to catalog
compilation if it detect's a conflict between manifest settings in the
requested environment.
</content>
</entry>
<entry>
<title>(PUP-501) Check virtual and exported resources</title>
<updated>2014-08-01T18:49:47Z</updated>
<author>
<name>Andrew Parker</name>
<email>andy@puppetlabs.com</email>
</author>
<published>2014-08-01T16:46:54Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=4c28090552ffe56a71ce15b9290bdbd552e6ec31'/>
<id>urn:sha1:4c28090552ffe56a71ce15b9290bdbd552e6ec31</id>
<content type='text'>
This adds checks for the specification's assertions that virutal and
exported resources are not in the produced catalog, but are available
for later operations (realization) and reference (reading a parameter
value). This cannot check that the exported resources are made available
to catalog processors, since that is implementation dependent.

In order to check this the compile_to_catalog method needed to be
changed to filter out expoerted resources, just like the catalog
indirection does. This required a change to the create_resources test.
</content>
</entry>
<entry>
<title>(maint) Remove unnecessary Puppet.settings.clear calls from specs</title>
<updated>2014-07-24T23:45:47Z</updated>
<author>
<name>Josh Partlow</name>
<email>joshua.partlow@puppetlabs.com</email>
</author>
<published>2014-07-24T23:45:47Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=7e3ec7f18ba6fb262f6d76384e0b5af501cf0da9'/>
<id>urn:sha1:7e3ec7f18ba6fb262f6d76384e0b5af501cf0da9</id>
<content type='text'>
I believe most of these predated our clearing the settings before each
test in the central puppet/test/test_helper.rb. And since we then set
some base settings (such as :environment_timeout) in the test_helper,
the effect of a secondary clear in the test itself is to wipe out the
baseline setup test_helper just laid down.

In particular this is a problem with environment_timeout, as it leads to
tests which end up creating environments, getting them cached with the
default 180s timeout, which can leak to subsequent tests and create
unpleasant spec order issues.
</content>
</entry>
<entry>
<title>(maint) Remove pointless test</title>
<updated>2014-07-11T16:27:51Z</updated>
<author>
<name>Andrew Parker</name>
<email>andy@puppetlabs.com</email>
</author>
<published>2014-07-11T16:27:51Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=93f2eb4894281b108340e97da8dce4f44c317097'/>
<id>urn:sha1:93f2eb4894281b108340e97da8dce4f44c317097</id>
<content type='text'>
Testing that the function exists isn't really needed since the later
tests that actually use the function will find that fairly quickly.
</content>
</entry>
<entry>
<title>(PUP-2626) Allow module paths in file()</title>
<updated>2014-07-10T21:01:49Z</updated>
<author>
<name>Daniel Thornton</name>
<email>dthornton@mozilla.com</email>
</author>
<published>2014-05-20T21:19:02Z</published>
<link rel='alternate' type='text/html' href='https://git.osdyson.ru/pkg-puppet/puppet/commit/?id=1d3d839307bc546584f99904a9feb9331e234385'/>
<id>urn:sha1:1d3d839307bc546584f99904a9feb9331e234385</id>
<content type='text'>
This modifies the file() function to accept module paths (like the
template() function) as well as fully qualified paths.

This makes it possible for modules that use the file() function
to be more portable, instead of being tied to a specific puppet
server configuration.

Example

with directory structure:

  /etc/puppet/modules/example
  ├── files
  │   └──file.ext
  ├── manifests
  │   └──init.pp
  └── templates
      └──template.erb

When the module path for files can be used instead of the absolute
path:

  file('example/file.ext') returns the same as
  file('/etc/puppet/modules/example/files/file.ext').

This is supposed to be like how template does module paths, where:

  template('example/template.erb') returns the same as
  template('/etc/puppet/modules/example/templates/template.erb')
</content>
</entry>
</feed>
