summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-20Merge branch '2.1.x' into 2.2.xJeff McCune
* 2.1.x: (Maint) Fix mis-use of rvalue functions as statements Add .rspec file to repo root Conflicts: spec/unit/puppet/parser/functions/getvar_spec.rb spec/unit/puppet/parser/functions/has_key_spec.rb spec/unit/puppet/parser/functions/merge_spec.rb
2012-08-20Merge branch 'fix/2.1.x/spec_failures' into 2.1.xJeff McCune
* fix/2.1.x/spec_failures: (Maint) Fix mis-use of rvalue functions as statements Add .rspec file to repo root
2012-08-20(Maint) Fix mis-use of rvalue functions as statementsJeff McCune
Without this patch applied the spec tests are invalid because they call rvalue functions as if they were statements. This is a problem because Puppet 2.7.x currently throws an exception if a rvalue function is invoked as if it were a statement function. This exception from Puppet is causing tests to fail. This patch fixes the problem by changing the tests to assign the return value of the functions to a variable. This fixes the problem by invoking the functions properly. Paired-with: Andrew Parker <andy@puppetlabs.com>
2012-08-20Add .rspec file to repo rootJeff McCune
Without this patch we don't get an opinionated rspec behavior. This patch makes the behavior of `rake test` and `rspec spec/` opinionated by including some default options.
2012-08-10Disable tests that fail on 2.6.x due to #15912Patrick Carlisle
In Puppet 2.6.x there is a bug where a function may be incorrectly detected as an rvalue when it is not, or not detected when it is. This means that in tests the correct syntax for calling a function will be rejected. This disables those tests on 2.6.x, as there is no straightforward way to write them to be compatible with both 2.6.x and newer versions of Puppet.
2012-08-09Use rvalue functions correctlyPatrick Carlisle
A bug fix in Puppet exposed that several tests were using rvalue functions incorrectly (this was not properly checked by puppet before). This fixes those tests.
2012-07-23Merge pull request #81 from jeffmccune/maint/2.2.x/rename_seams_to_internalsJeff McCune
(Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}
2012-07-23(Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}Jeff McCune
The module PuppetlabsSpec::PuppetSeams has been renamed in the puppetlabs_spec_helper gem to PuppetlabsSpec::PuppetInternals. The method to obtain a scope object has also changed slightly. Without this patch the spec tests will fail because the stdlib module is not aligned with the spec helper gem. This patch fixes the problem by matching up messages with their receivers in the spec helper library. Paired-with: Andrew Parker <andy@puppetlabs.com>
2012-07-19Merge branch 'fix/2.2.x/make_it_green' into 2.2.xJeff McCune
* fix/2.2.x/make_it_green: (Maint) use PuppetlabsSpec::PuppetSeams.parser_scope (Maint) Fix interpreter lines
2012-07-19(Maint) use PuppetlabsSpec::PuppetSeams.parser_scopeJeff McCune
Without this patch all of the spec tests for parser functions in stdlib would instantiate their own scope instances. This is a problem because the standard library is tightly coupled with the internal behavior of Puppet. Tight coupling like this creates failures when we change the internal behavior of Puppet. This is exactly what happened recently when we changed the method signature for the initializer of Puppet::Parser::Scope instances. This patch fixes the problem by creating scope instances using the puppet labs spec helper. The specific method that provides scope instances in Puppet-version-independent way is something like this: let(:scope) { PuppetlabsSpec::PuppetSeams.parser_scope } This patch simply implements this across the board.
2012-07-19(Maint) Fix interpreter linesJeff McCune
This time around I actually know why I'm doing this thanks to the reminder from Nick Lewis. Ruby will replace itself in memory with the executable listed in the interpreter line if the string "ruby" is not in there. Since /usr/bin/env rspec doesn't contain the substring "ruby", you can't actually run ruby -W1 or whatever on the file. This patch fixes the problem by making sure "ruby" is present, preventing ruby from replacing itself in memory.
2012-05-11Fix spec tests using the new spec_helperJeff McCune
This patch back ports the file from the master branch. The spec tests fail without this patch applied. This should make it easier to setup Puppet settings using the puppet_spec_helper project.
2012-04-04Revert "Merge remote-tracking branch ↵Jeff McCune
'eshamow/tickets/bug/13595_restrict_initialize_everything_for_tests' into 2.2.x" This reverts commit 40da421c0480f940638d0db9aabf180500d6ae5c, reversing changes made to 69465b0f3e0c0c5284812bfa76ab8d3c254d10a9.
2012-04-04Merge remote-tracking branch ↵Jeff McCune
'eshamow/tickets/bug/13595_restrict_initialize_everything_for_tests' into 2.2.x * eshamow/tickets/bug/13595_restrict_initialize_everything_for_tests: (#13595) initialize_everything_for_tests couples modules Puppet ver
2012-04-03(#13595) initialize_everything_for_tests couples modules Puppet verEric Shamow
Replace regex used in spec_helper.rb to disallow both Puppet 2.6 and any 2.7 prior to 13.
2012-03-29Merge branch 'ticket/2.2.x/13439_fix_spec_helper_try3' into 2.2.xJeff McCune
* ticket/2.2.x/13439_fix_spec_helper_try3: (#13439) Fix MRI 1.9 issue with spec_helper
2012-03-29(#13439) Fix MRI 1.9 issue with spec_helperJeff McCune
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.
2012-03-29Merge branch 'ticket/2.2.x/13439_fix_spec_helper_try2' into 2.2.xJeff McCune
* ticket/2.2.x/13439_fix_spec_helper_try2: (#13439) Fix test failures with Puppet 2.6.x
2012-03-29(#13439) Fix test failures with Puppet 2.6.xJeff McCune
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.
2012-03-29Merge branch 'ticket/2.2.x/13439_fix_spec_helper' into 2.2.xJeff McCune
* ticket/2.2.x/13439_fix_spec_helper: (#13439) refactor spec helper for compatibility with both puppet 2.7 and master
2012-03-29(#13439) refactor spec helper for compatibility with both puppet 2.7 andcprice
master
2012-03-29Merge branch '2.1.x' into 2.2.xJeff McCune
* 2.1.x: Update CHANGELOG, Modulefile for 2.1.3 Conflicts: CHANGELOG Modulefile
2012-03-29Merge branch 'maint/2.2.x/range_spec_tests' into 2.2.xJeff McCune
* maint/2.2.x/range_spec_tests: (#13494) Specify the behavior of zero padded strings
2012-03-29(#13494) Specify the behavior of zero padded stringsJeff McCune
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.
2012-03-29Update CHANGELOG, Modulefile for 2.1.3Jeff McCune
2012-02-07Merge branch '2.1.x' into 2.2.xKen Barber
* 2.1.x: (#12377) Avoid infinite loop when retrying require json
2012-02-06Merge branch ↵Ken Barber
'ticket/2.2.x/12377_stdlib_facter_dot_d_loaderror_recovery_may_be_harmful' into 2.1.x * ticket/2.2.x/12377_stdlib_facter_dot_d_loaderror_recovery_may_be_harmful: (#12377) Avoid infinite loop when retrying require json
2012-02-06(#12377) Avoid infinite loop when retrying require jsonJeff McCune
Without this patch an infinite loop will be entered if the json and rubygems libraries are not available. This patch fixes the problem by retrying the `require 'json'` only if rubygems was successfully loaded for the first time. Subsequent attempts to load rubygems will cause the LoadError exception from a missing json library to be re-raised. Thanks to Krzysztof Wilczynski for pointing out this issue.
2012-01-11Merge branch 'bug/2.2.x/is_domain_name' into 2.2.xJeff McCune
* bug/2.2.x/is_domain_name: Check according to rfc1035 Add additional domain name tests (maint) Memoize scope in domain_name spec Closes pull request GH-24
2012-01-11Check according to rfc1035Stig Sandbeck Mathisen
Update doc string to match function
2012-01-11Add additional domain name testsJeff McCune
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.
2012-01-11(maint) Memoize scope in domain_name specJeff McCune
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.
2012-01-11Merge branch 'ticket/2.2.x/11901-rspec_sort_order' into 2.2.xJeff McCune
* ticket/2.2.x/11901-rspec_sort_order: (#11901) Fix sort order error in tests for 'keys' and 'values'
2012-01-11(#11901) Fix sort order error in tests for 'keys' and 'values'Jeff McCune
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
2012-01-10Merge pull request #28 from kbarber/ticket/2.2.x/11873-time_spec_failureDaniel Pittman
(#11873) time function spec failure on Fixnum matcher
2012-01-10(#11873) time function spec failure on Fixnum matcherKen Barber
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.
2011-12-30Merge branch '2.1.x' into 2.2.xJeff McCune
* 2.1.x: (#11607) Add Rakefile to enable spec testing
2011-12-30Merge pull request #26 from ↵Jeff McCune
jeffmccune/ticket/2.1.x/11607_fix_ci_tests_for_stdlib (#11607) Add Rakefile to enable spec testing
2011-12-30(#11607) Add Rakefile to enable spec testingJeff McCune
Without this patch the 2.1.x branch does not have a Rakefile like the 2.2.x and master branches do. This is a problem for the continuous integration testing since it executes `rake test` against 2.1.x, 2.2.x and master currently. This patch fixes the problem by copying the Rakefile into place enabling the `rake test` task. Reviewed-by: Josh Cooper
2011-12-30Update CHANGELOG and Modulefile for 2.2.1Jeff McCune
2011-12-30Merge branch '2.1.x' into 2.2.xJeff McCune
* 2.1.x: Update Modulefile CHANGELOG for v2.1.2 release Conflicts: CHANGELOG Modulefile
2011-12-30Update Modulefile CHANGELOG for v2.1.2 releaseJeff McCune
2011-12-30Merge branch 'v2.1.x' into v2.2.xJeff McCune
* v2.1.x: (maint) Add semantic versioning info to README Docs: Clarify the use case for the anchor type Docs: Remove author emails from stdlib functions Docs: Copyedit function doc strings Docs: Correct indentation of markdown code examples Docs: Update documentation of stdlib classes Docs: Update file_line documentation Docs: Improve example in merge function
2011-12-30(maint) Add semantic versioning info to READMEJeff McCune
This patch adds semantic versioning information to the README of this module. This information is missing and unclear without this patch. This should help clarify the support matrix for the Standard Library as it relates to Puppet Enterprise released versions.
2011-11-08Merge pull request #21 from puppetlabs/v2.2Garrett Honeycutt
* v2.x:
2011-11-08 * v2.x:James Turnbull
Update CHANGELOG and Modulefile for v2.2.0
2011-10-25Merge pull request #19 from nanliu/ticket/10285Ken Barber
(#10285) Refactor json to use pson instead.
2011-10-25(#10285) Refactor json to use pson instead.Nan Liu
Remove json requirement since puppet already provides pson which is equivalent.
2011-10-10Merge branch 'main/mater/watchr'Jeff McCune
* main/mater/watchr: (Maint) Add watchr autotest script
2011-10-10(Maint) Add watchr autotest scriptJeff McCune
This patch adds a watchr script to autotest the stdlib module. To use: % watchr spec/watchr.rb