diff options
author | Colleen Murphy <colleen@puppetlabs.com> | 2015-03-25 12:04:16 -0700 |
---|---|---|
committer | Colleen Murphy <colleen@puppetlabs.com> | 2015-03-25 12:04:16 -0700 |
commit | d27759141ec5592fd5d76861efa77a55d07c90a8 (patch) | |
tree | f2ab9d3e3439a676911a0ede12b7b5d515bb611d /lib/puppet/provider | |
parent | 9a955b8746f373a1a3e47ebf67d4186b98e0094f (diff) |
Fix remote hash ordering for unit tests
Without this commit, the unit tests for the git provider changing
multiple remotes mocks the remotes in a particular order. While in
practice it doesn't matter which remote the update_remotes method
updates first, the unit tests must be able to mock them in the correct
order. For ruby 1.8.7, a Hash will not necessarily produce key value
pairs in the same order on each run, which causes intermittent failures
in the unit tests. This change sorts the :source property values before
trying to update them, and updates the unit tests to expect the values
in alphabetical order.
Diffstat (limited to 'lib/puppet/provider')
-rw-r--r-- | lib/puppet/provider/vcsrepo/git.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/puppet/provider/vcsrepo/git.rb b/lib/puppet/provider/vcsrepo/git.rb index 9d3f7f3..000032e 100644 --- a/lib/puppet/provider/vcsrepo/git.rb +++ b/lib/puppet/provider/vcsrepo/git.rb @@ -142,7 +142,8 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) # we loop around the hash. Otherwise, we assume single url specified # in source property if @resource.value(:source).is_a?(Hash) - @resource.value(:source).each do |remote_name, remote_url| + @resource.value(:source).keys.sort.each do |remote_name| + remote_url = @resource.value(:source)[remote_name] at_path { do_update |= update_remote_url(remote_name, remote_url) } end else |