Age | Commit message (Collapse) | Author |
|
The `type()` function will cease to work on the new parser because 'type'
is a reserved keyword. The `type3x()` function may be used to continue
similar functionality, but will be deprecated in favor of the built-in
typing system.
The `type_of()` function has been included to introspect types in the
new parser.
|
|
Merge 4.5.x into master
|
|
Based on dirname code. Includes RSpec tests and docs.
|
|
The `match` attribute was validated to match `line`, except that in many
cases (even the example given in the docs) a user would want to match a
line entirely different from the new line.
See comments on the original commit
https://github.com/puppetlabs/puppetlabs-stdlib/commit/a06c0d8115892a74666676b50d4282df9850a119
and ask
https://ask.puppetlabs.com/question/14366/file_line-resource-match-problems/
for further examples of confusion.
|
|
This conversion is done by Transpec 2.2.1 with the following command:
transpec spec/unit
* 53 conversions
from: obj.should
to: expect(obj).to
* 19 conversions
from: == expected
to: eq(expected)
* 5 conversions
from: lambda { }.should
to: expect { }.to
* 2 conversions
from: be_true
to: be_truthy
For more details: https://github.com/yujinakayama/transpec#supported-conversions
|
|
(MODULES-905) Narrow the confinement in bool2str
|
|
The extended spec tests validate that the common types of values
that could be passed to bool2str() are rejected.
|
|
This reverts commit 8499ebdb7f892f2623295058649c67a5553d4732, reversing
changes made to 08b00d9229961d7b3c3cba997bfb35c8d47e4c4b.
|
|
(MODULES-905) Add bool2str() and camelcase() for string manipulation
|
|
file_line supports adding lines after a match, but there are use cases when
having "before" would be useful. For example, in Debian-based OS's, the last
line of /etc/rc.local is "exit 0" it's an incredible pain to deal with
that scenario today.
This commit adds a 'before' parameter to the file_line type, and implements
it for the ruby provider.
|
|
|
|
rspec-puppet matchers are defined for tests which exist in
spec/functions, but the function unit tests lived in
spec/unit/puppet/parser/functions. This moves them to the correct place
for using rspec-puppet
|
|
|
|
|
|
complaining loudly
|
|
Allow concat to take non-array second parameters
|
|
Previously this was incorrectly handling facts that were of the form
foo=1+1=2 due to the ='s in the actual fact contents. Fix this and
add tests to try and prevent regressions.
|
|
This test attempts to emulate various versions of facter, but is
still dependent on the version of facter it is running against. The
immediate symptom was that the test breaks with facter 2.0.1 because
it adds another external facts search directory.
I tried a couple ways to stub this but allowing it to pretend
to run against one set of facters, while actually running against
one real facter (which might itself be one of several versions)
eluded me.
So this patch just removes the test.
|
|
PUP-1724 Don't modify the paramaters to deep_merge
|
|
This work updates a number of Gems to the latest versions (rspec,
rspec-puppet), and updates and tweaks a bunch of tests to work
with the updated gems.
|
|
Also improve and extend concat tests to lock down functionality
|
|
Instead of modifying the first paramater of deep_merge due to the
use of the merge! function, instead use merge to return a copy of
the merged object. This allows one to continue to use the original
first parameter after the call to deep_merge.
|
|
|
|
This version of pick() does not error out, instead always returning at least
the last argument, even if that too has no "real" value.
|
|
(PUP-1459) Add support for root_home on OS X 10.9
|
|
I expect a function called "is_numeric" or "is_integer" to check if a
variable is an integer or a number even if the variable passed by isn't
a string nor a number at all. Otherwise we should call them
is_string_a_number and is_string_an_integer and we have then to remove
the check for .is_a?(Number) and .is_a?(FixNum)
now checking also if it is a hex or octal number
improved/corrected checking for integer
* checking against Integer instead of Fixnum so that
also Bignum is matching
* now .is_a? Integer is done first so this is quiet fast
Now many types of numerics are recognized.
1. Float/Integer values (signed or unsigned, with exponent or without)
2. octal and hex check
3. except hex numbers and the "0." in a float lower than 1 can be prefixed
with a '0'.
whitespaces shouldn't be allowed as prefix/suffix
string representation of numbers should not contain any type of
whitespace.. the user is responsible to clean a string before checking
it..
fix documentation and added more checks
tried to be 99.9% backward compatible
* for now the decission is post poned if hex and octal numbers
should be allowed or not (is_numeric)
* native Bignum is now also a valid integer class
fix problem with old 1.8 ruby and Hash.to_s/Array.to_s
In ruby < 1.9 array and hashes would be recognized as numeric
if they have a special format:
1.8:
[1,2,3,4].to_s = "1234"
{1=>2}.to_s = "12"
1.9:
[1,2,3,4].to_s = "[1, 2, 3, 4]"
{1=>2}.to_s = "{1=>2}"
|
|
getent does not exist on 10.9 so this commit uses
dscacheutil to query the homedir for the root user.
|
|
|
|
Facter 1.7.4 changed how it decides on what directory to look in for
facts.d based on the user it is running as. This stubs out that bit of
code to make it think it is running as root.
|
|
(#23381) add is_bool() function
|
|
calling rspec directly makes is_function_available.rb not pass ruby -c
|
|
|
|
with the rest.
|
|
|
|
Issue #20200 notes that the merge function does not
support nested hashes.
To prevent unintended side effects with changing merge,
add a deep_merge function instead.
|
|
Update pick error message "at least one non empty value"
|
|
This closes GH-180
|
|
|
|
Right now validation seems to be done against zero byte generated temp
files. We need to close the file before executing validation against it.
|
|
delete_undef_values function fix bug #20681
|
|
The issue #20681 describe the error of delete() function
removing the elements from the origin array/hash/string.
This issue affected other delete functions. Because
ruby delete and delete_if functions make destructive
changes to the origin array/hash.
The delete_undef_values removed elements from the
origin array/hash and this is not the desired behaviour.
To solve this, we should dup or clone the array/hash
before using the delete or delete_if ruby functions.
We should also check if args[0] is not nil before using
dup, since dup on nil raises exception.
This fix the problem and add unit tests, so we could
enforce this behaviour and prevent regressions.
|
|
delete_at added spec to check against bug #20681
|
|
delete_values() fix bug #20681.
|
|
(#16498) Added unit test for loadyaml function.
|
|
As stated on the issue #16498, it would be great to have unit tests
for all the functions.
Function loadyaml was missing a unit test. This commit added the
unit test to loadyaml function.
|
|
bug # 20681 delete() function should not remove elements from original list
|
|
The issue #20681 describe the error of delete() function
removing the elements from the origin array/hash/string.
This issue affected the other delete functions.
The delete_at function is not afected by this bug, but
it did not had the unit test to check against it.
I had added the unit test so we could prevent regressions
on the future and also have better test coverage.
|
|
The issue #20681 describe the error of delete() function
removing the elements from the origin array/hash/string.
This issue affected other delete functions. Because
ruby delete and delete_if functions make destructive
changes to the origin array/hash.
The delete_undef_values removed elements from the
origin hash and this is not the desired behaviour.
To solve this, we should dup or clone the hash
before using the delete or delete_if ruby functions.
This fix the problem and add unit tests, so we could
enforce this behaviour and prevent regressions.
|
|
enhanced the error message of pick function.
|
|
The setup: list with 3 elements, delete one:
$test_list = [‘a’, ‘b’, ‘c’]
$test_deleted = delete($test_list, ‘a’)
Print out the elements in ‘test_deleted’:
notify { ‘group_output2’: withpath => true, name => “$cfeng::test_deleted”, }
Notice: /Stage[main]/Syslog/Notify[group_output2]/message: bc
Good! Run-on output shows that ‘a’ was deleted
Print out the elements in ‘test_list’:
notify { ‘group_output1’: withpath => true, name => “$cfeng::test_list”, }
Notice: /Stage[main]/Syslog/Notify[group_output1]/message: bc
WHAT!? 'a' was deleted from ‘test_list’ as well! Expected abc as output!
This behaviour is confirmed for string, hash and array.
This is fixed on this commit, I had added two spec tests to cover that cases.
bug #20681 spec test for delete() function.
I had forgot in the last commit the spec test for hash in the
delete function.
bug # 20681 delete() function change aproach.
Instead of rejecting elements from the original list, we use
collection = arguments[0].dup .
then latter we could continue to use delete and gsub! on collection
without impact on original argument.
this is a better solution than the previous one, and works on ruby
1.8.7, 1.9.3 and 2.0.0.
The previous solution does not work on ruby 1.8.7.
delete function remove typo whitespace.
fix typo whitespaces.
|