Age | Commit message (Collapse) | Author |
|
When using MRI 1.9.x the stdlib spec helper does not invoke because
Puppet.settings.private_methods returns symbols instead of strings.
This is a problem because we need to set default configuration settings
like Puppet[:vardir] when using the compiler.
This patch fixes the issue by simply checking the Puppet version. This
seems a better choice than rescuing NoMethodError since the method might
be renamed or removed in the future.
|
|
Without this patch the spec_helper sends a message named
initialize_everything_for_tests to Puppet.settings. This is a problem
because Puppet 2.6.x does not have this method, only Puppet 2.7.x and
Puppet master have this method at this time and we're getting false
positive test failures.
This patch fixes the problem by looking before we leap. We test if the
private method exists before calling it. This works with Ruby 1.8.5 and
onwards and Puppet 2.6, 2.7 and master.
This should fix all of the failures I've caused in Jenkins today.
|
|
master
|
|
Without this patch the specified behavior of strings that are numeric
only and zero padded is unclear and untested in the spec tests. This is
a problem because it's not clear that range('00', '10') will actually
return [ "0", "1", ..., "10" ] instead of [ "00", "01", ..., "10" ]
This patch addresses the issue by providing explicit test coverage. If
the string conversion behavior of puppet changes, this test will begin
to fail.
|
|
Without this patch some valid domain names are not covered in the spec
tests as Stig Sandbeck Mathisen <ssm@debian.org> points out. This patch
adds spec tests for the domains "." and "x.com" which are both valid.
|
|
This is an opportunity improvement since I'm in the code. Get rid of
instance variables in the spec test and replace them with a memo let
method block.
|
|
Between Ruby 1.8.7 p352 and p357 the way arrays were returned when using
keys and values in Ruby changed, and due to assumption about the
ordering our tests are now failing.
This patch fixes the issue by using the =~ operator matcher in rspec.
This matcher is implemented as RSpec::Matchers::MatchArray and performs
multiset equality matching of arrays. Order doesn't matter, but
duplicate values do.
This patch also switches @scope instance variables to memoized let
methods for clarity in the code.
Original Author: Ken Barber
Reviewed-by: Nick Lewis
This commit closes GH-29
|
|
The rspec code for the time function was trying to match the type to be a
'Fixnum'. Ruby will sometimes make this a 'Bignum' depending on its internals
and we can't rely on this to be true all the time.
This patch just makes sure the type is an integer instead.
|
|
This patch adds a watchr script to autotest the stdlib module. To use:
% watchr spec/watchr.rb
|
|
The behavior without this patch applied is that the rspec tests do not
function with Puppet 2.6.4. This patch back-ports some fixes introduced
in Puppet 2.7.x to the spec_helper to make the tests work as expected on
Puppet 2.6.4.
The specific patches back ported from Puppet are:
* 2ae88067 (Puppet::Util::ExecutionStub.reset)
* cf183534 (Switched spec tests to use a class rather than Array as the
log destination.)
|
|
kbarber/issue/master/8925-user_ssl_certs"
This reverts commit 14852e0259e1e43371dbcb2675e00c6d6e614f05, reversing
changes made to a95dccd464b55945feb8bcf7483f777c25164115.
This is to fix the broken build (failing tests) as per #8925 and #10007
|
|
(#8925) Added new function called 'get_certificate' for retrieving
|
|
Without this patch applied, the stdlib module does not provide a
root_home fact. This fact is necessary to easily determine the root
account home directory on platforms Puppet is supported on.
The major variations this fact address are:
---
solaris: /
linux: /root
macosx: /var/root
Spec tests using rspec have been provided as well to cover these three
general cases. Windows tests are marked as pending.
|
|
certificates from a CA (or locally).
This function works by either obtaining the file locally
or remotely based on Puppets configuration.
Also added get_pubkey which wraps get_certificate and extracts the
public key.
|
|
Closes pull request #12
Reviewed-by: Jeff McCune
Verified all spec tests pass using rspec **/*_spec.rb
* issue/master/8797_puppetlabs-functions_merge: (164 commits)
* Moved kwalify to puppetlabs-kwalify project * Re-arranged tests in line with puppetlabs-stdlib
Prep for stdlib merge * Renamed load_yaml & load_json to parseyaml & parsejson * Renamed is_valid_* functions and remove the 'valid_'
Fix some ruby 1.9.2 issues.
(#3) Provide documentation for remaining functions.
(#3) Apply missing documentation to more functions.
Remove rand.
Some improvements to values_at tests.
(#1) provide some more detailed tests for a number of functions.
Removed date stub since this functinality is available in strftime anyway.
(#2) fix is_string finally so it also makes sure numbers return false.
(#2) unstub is_valid_domain_name
Added doc strings for first five functions
Removed join_with_prefix.
(#2) unstub is_valid_mac_address.
Allow sort for strings.
Count functionality overlaps with size - so removing it.
Removed crontab functions instead of unstubbing them.
Removed load_variables. load_yaml is sufficient to solve this problem on its own.
Remove is_valid_netmask instead of unstubbing. Doesn't seem like a sensible function on its own.
(#2) unstub is_numeric function.
...
|
|
It was decided that maintaining puppetlabs-functions and
puppetlabs-stdlib was duplication as both are trying to
achieve the same goal.
This patch provides a merge of the puppetlabs-functions
into the puppetlabs-stdlib repository, with history
preservation.
The following conflicts were found and resolved:
* LICENSE file from functions was used as it aligns with
ASL usage instructions and contains relevant copyright
information:
http://www.apache.org/licenses/LICENSE-2.0.html
* Used spec_helper.rb from functions - this is what
Puppet core uses and doesn't break tests.
* Merged .gitignore and spec.opts options.
|
|
* Re-arranged tests in line with puppetlabs-stdlib
|
|
* Renamed load_yaml & load_json to parseyaml & parsejson
* Renamed is_valid_* functions and remove the 'valid_'
|
|
Without this patch the resource whole_line would be included in the
stable stdlib module shipping in PE 1.2. Ideally the name will be
stable and unchanging in the future.
There was quite a bit of concern over whole_line being an unwise name.
file_line appears to be the most suitable name and least likely to need
another rename in the future.
|
|
* refactor/master/8665_whole_line:
(#8665) Change type from append_line to whole_line
|
|
The accounts module is making use of validate_array() and
validate_string() which do not exist int he stdlib module without this
patch.
This patch adds the two functions to the stdlib with unit tests.
Reviewed-by: Dan Bode
|
|
|
|
In Puppet, it is not possible to reassign hash
values.
This function allows a reasonable way to perform
hash munging in Puppet.
Reviewed-by: Jeff McCune
|
|
It is difficult to use existance of keys in a hash
as a boolean condition in Puppet (see #8705)
This function provides a working solution until
the underlying issue in Puppet can be resolved.
Reviewed-by: Jeff McCune
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
own.
|
|
function on its own.
|
|
|
|
|
|
|
|
|
|
Changed the type name from append_line to
whole_line.
After feedback that having a type with a verb in
the name was confusing.
|
|
This commit adds a native type that can check if
a line exists and append it to a file.
This use case seems common enough to warrant its
inclusion into stdlib.
Reviewed-by: Jeff McCune
|
|
|
|
|
|
|
|
|
|
|