Age | Commit message (Collapse) | Author |
|
Prior to this commit, if a hash was passed in as an
argument to the ensure_packages function a method of
hash duplication would be used that is not supported
with versions of ruby older than 2.0. In order to
ensure the method is compatible with older ruby versions,
switch to a different method of duplication.
Additionally add tests to prevent further regressions.
|
|
Prior to this commit, we didn't have tests for the ensure_resources
function (only for the ensure_resource function). This meant that
we weren't catching a bug in the ensure_resources function. In order
to prevent this in the future, add some tests which test the
specific functionality of ensure_resources.
|
|
|
|
|
|
Handle array values in join_keys_to_values function
|
|
These were caused by a change in the tested error message.
|
|
This also updates all ipv4 tests to use the same test data for better
comparability. Closes #676, #679
Fix-Originally-By: Nate Potter <nathaniel.potter@intel.com>
|
|
@keymone added information on how to reproduce his issue, so here's the
test case that would fail without his change.
|
|
Type updates
|
|
|
|
Prior to this commit, due to a bug in the exists? method in the
file_line provider, match_for_absence didn't work as described (or
at all really). Update the exists? logic so that match_for_absence
works as described.
Additionally add a unit test to prevent regressions and update the
documentation for the parameter to reflect the fact that it is
ignored when `ensure => present`.
|
|
|
|
This is the idiomatic version of #634, and also addresses
the test failures.
Original-Fix-By: Michiel Brandenburg <michiel@silverstreet.com>
|
|
When validate_string is called via the Puppet 4 deprecation wrappers
from deprecation_gen (introduced in 970852d), `undef` is passed as `nil`
where it was previously passed as `''` from the Puppet 3-style function
API.
This change explicitly permits a `nil` value in validate_string, and
adds a test case to `is_string` which also accepts the same.
Fixes test failures in apt, concat etc:
Error while evaluating a Function Call, nil is not a string. It looks to be a NilClass at apt/manifests/source.pp:23:3 [..]
# ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:34:in `block (2 levels) in <module:Functions>'
# ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `each'
# ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `block in <module:Functions>'
# puppet-4.7.0/lib/puppet/parser/functions.rb:174:in `block (2 levels) in newfunction'
# puppet-4.7.0/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
# puppet-4.7.0/lib/puppet/util/profiler.rb:51:in `profile'
# puppet-4.7.0/lib/puppet/parser/functions.rb:167:in `block in newfunction'
# ./spec/fixtures/modules/stdlib/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb:13:in `block (2 levels) in deprecation_gen'
|
|
|
|
|
|
|
|
Add deprecation warnings to remaining validates
|
|
|
|
|
|
Ensure validate functions use Puppet 4 deprecation
|
|
|
|
Refactor dig44 function
|
|
* validate_legacy now accepts undef values
* update the TypeMismatch message to include the original validate function name
* only notice, not warn, on newly allowed values
* changed previous_validation to function_name to avoid confusion with the function of the same name
* use deprecation() instead of warn(), when hitting a deprecated value
* prepare the tests and function for MODULES-3735
* rewrite validate_legacy tests to use new rspec-puppet
* move validate_re deprecation to puppet4 only
* adapt validate_re_spec
|
|
|
|
Deprecation function to be mutable in all cases
|
|
|
|
|
|
The current implementation of the dig44 function has the
following problems:
* Doesn't recognise Puppet4's :undef value as an empty value
and doesn't return the default value.
* Doesn't make a different between false and nil value
and returns the default value for a non-empty false value
|
|
|
|
(MODULES-3534) Deprecation of ip functions
|
|
|
|
(maint) Switch 3.x deprecation() to use Puppet warning logger
|
|
The deprecation function was calling the `Kernel#warn` function which
prints to stderr, rather than the Puppet logger. This causes problems
for Puppet module tests on Travis CI, which has a cap on the amount of
stdout/err permitted in its logs and also prevents users from finding
the deprecation warnings when running under a Puppet master.
|
|
This updates the test to match the new behaviour in puppet 4.6.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(MODULES-3529) add deprecation function
|
|
|
|
(MODULES-3568) Move dig to dig44 and deprecate dig
|
|
A new version of dig was introduced in Puppet 4.5.0 that
isn't compatible with the stdlib version of dig. To maintain
backwards compatibility and ensure that tests for stdlib aren't
broken, this patch renames dig to dig44 and adds a deprecation
warning to the stdlib dig function.
|
|
This change more accurately reflects what is being ignored and what's
required as fixtures.
|
|
When replacing the lib/ and manifests/ symlinks in the fixtures with
a proper top-level symlink, puppet 4 starts loading the metadata.json
before loading functions, which confuses these tests. Added more specific
expectations, and provide data for that call.
|
|
|
|
As described in PUP-6422,
ensure_resources('File[/tmp/a]', { owner => undef })
would not actually create the file. This fixes it, and adds tests to prove
it.
|
|
To maintain backwards compatibility, add a delete_regex function instead
of modifying delete itself.
|