Hello community,
here is the log from the commit of package rubygem-puppet for openSUSE:Factory checked in at 2016-01-28 17:23:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-puppet (Old)
and /work/SRC/openSUSE:Factory/.rubygem-puppet.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-puppet"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-puppet/rubygem-puppet.changes 2015-12-09 22:33:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-puppet.new/rubygem-puppet.changes 2016-01-28 17:23:56.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Jan 22 17:15:04 UTC 2016 - kstreitova@suse.com
+
+- Update to 3.8.5
+ https://docs.puppetlabs.com/puppet/3.8/reference/release_notes.html#puppet-3...
+
+-------------------------------------------------------------------
Old:
----
puppet-3.8.4.gem
New:
----
puppet-3.8.5.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-puppet.spec ++++++
--- /var/tmp/diff_new_pack.PLXK0l/_old 2016-01-28 17:23:57.000000000 +0100
+++ /var/tmp/diff_new_pack.PLXK0l/_new 2016-01-28 17:23:57.000000000 +0100
@@ -24,7 +24,7 @@
#
Name: rubygem-puppet
-Version: 3.8.4
+Version: 3.8.5
Release: 0
%define mod_name puppet
%define mod_full_name %{mod_name}-%{version}
++++++ puppet-3.8.4.gem -> puppet-3.8.5.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/build_defaults.yaml new/ext/build_defaults.yaml
--- old/ext/build_defaults.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/ext/build_defaults.yaml 1970-01-01 01:00:00.000000000 +0100
@@ -19,17 +19,17 @@
ref: 'refs/tags/3.8.3'
repo: 'git://github.com/puppetlabs/puppet_for_the_win.git'
facter:
- ref: 'refs/tags/2.4.4'
+ ref: 'refs/tags/2.4.5'
repo: 'git://github.com/puppetlabs/facter.git'
hiera:
ref: 'refs/tags/1.3.4'
repo: 'git://github.com/puppetlabs/hiera.git'
sys:
ref:
- x86: 'refs/tags/1.9.3-p551.6'
- x64: 'refs/tags/2.0.0.9-x64'
+ x86: 'refs/tags/1.9.3-p551.8'
+ x64: 'refs/tags/2.0.0.11-x64'
repo: 'git://github.com/puppetlabs/puppet-win32-ruby.git'
-apt_host: 'apt.puppetlabs.com'
+apt_signing_server: 'apt.puppetlabs.com'
apt_repo_url: 'http://apt.puppetlabs.com'
apt_repo_path: '/opt/repository/incoming'
ips_repo: '/var/pkgrepo'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/daemon.rb new/lib/puppet/daemon.rb
--- old/lib/puppet/daemon.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/daemon.rb 1970-01-01 01:00:00.000000000 +0100
@@ -24,6 +24,7 @@
SIGNAL_CHECK_INTERVAL = 5
attr_accessor :agent, :server, :argv
+ attr_reader :signals
def initialize(pidfile, scheduler = Puppet::Scheduler::Scheduler.new())
@scheduler = scheduler
@@ -107,13 +108,21 @@
# Trap a couple of the main signals. This should probably be handled
# in a way that anyone else can register callbacks for traps, but, eh.
def set_signal_traps
- signals = {:INT => :stop, :TERM => :stop }
- # extended signals not supported under windows
- signals.update({:HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs }) unless Puppet.features.microsoft_windows?
- signals.each do |signal, method|
+ [:INT, :TERM].each do |signal|
Signal.trap(signal) do
- Puppet.notice "Caught #{signal}; storing #{method}"
- @signals << method
+ Puppet.notice "Caught #{signal}; exiting"
+ stop
+ end
+ end
+
+ # extended signals not supported under windows
+ if !Puppet.features.microsoft_windows?
+ signals = {:HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs }
+ signals.each do |signal, method|
+ Signal.trap(signal) do
+ Puppet.notice "Caught #{signal}; storing #{method}"
+ @signals << method
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/node.rb new/lib/puppet/node.rb
--- old/lib/puppet/node.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/node.rb 1970-01-01 01:00:00.000000000 +0100
@@ -18,6 +18,8 @@
::PSON.register_document_type('Node',self)
+ ENVIRONMENT = 'environment'.freeze
+
def self.from_data_hash(data)
raise ArgumentError, "No name provided in serialized data" unless name = data['name']
@@ -58,7 +60,7 @@
if @environment
@environment
else
- if env = parameters["environment"]
+ if env = parameters[ENVIRONMENT]
self.environment = env
elsif environment_name
self.environment = environment_name
@@ -80,6 +82,13 @@
else
@environment = env
end
+
+ # Keep environment_name attribute and parameter in sync if they have been set
+ unless @environment.nil?
+ @parameters[ENVIRONMENT] = @environment.name if @parameters.include?(ENVIRONMENT)
+ self.environment_name = @environment.name if instance_variable_defined?(:@environment_name)
+ end
+ @environment
end
def has_environment_instance?
@@ -129,7 +138,7 @@
@parameters[name] = value unless @parameters.include?(name)
end
- @parameters["environment"] ||= self.environment.name.to_s
+ @parameters[ENVIRONMENT] ||= self.environment.name.to_s
end
# Calculate the list of names we might use for looking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/evaluator/access_operator.rb new/lib/puppet/pops/evaluator/access_operator.rb
--- old/lib/puppet/pops/evaluator/access_operator.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/evaluator/access_operator.rb 1970-01-01 01:00:00.000000000 +0100
@@ -39,7 +39,7 @@
fail(Puppet::Pops::Issues::BAD_STRING_SLICE_ARITY, @semantic.left_expr, {:actual => keys.size})
when 1
# Note that Ruby 1.8.7 requires a length of 1 to produce a String
- k1 = coerce_numeric(keys[0], @semantic.keys, scope)
+ k1 = coerce_numeric(keys[0], @semantic.keys[0], scope)
bad_access_key_type(o, 0, k1, Integer) unless k1.is_a?(Integer)
k2 = 1
k1 = k1 < 0 ? o.length + k1 : k1 # abs pos
@@ -50,8 +50,8 @@
o[ k1, k2 ]
end
when 2
- k1 = coerce_numeric(keys[0], @semantic.keys, scope)
- k2 = coerce_numeric(keys[1], @semantic.keys, scope)
+ k1 = coerce_numeric(keys[0], @semantic.keys[0], scope)
+ k2 = coerce_numeric(keys[1], @semantic.keys[1], scope)
[k1, k2].each_with_index { |k,i| bad_access_key_type(o, i, k, Integer) unless k.is_a?(Integer) }
k1 = k1 < 0 ? o.length + k1 : k1 # abs pos (negative is count from end)
@@ -317,6 +317,9 @@
end
ranged_integer = Puppet::Pops::Types::PIntegerType.new()
from, to = keys
+ # NOTE! Do not merge the following line to 4.x. It has the same check in the initialize method
+ raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
+
ranged_integer.from = from == :default ? nil : from
ranged_integer.to = to == :default ? nil : to
ranged_integer
@@ -333,6 +336,9 @@
end
ranged_float = Puppet::Pops::Types::PFloatType.new()
from, to = keys
+ # NOTE! Do not merge the following line to 4.x. It has the same check in the initialize method
+ raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
+
ranged_float.from = from == :default || from.nil? ? nil : Float(from)
ranged_float.to = to == :default || to.nil? ? nil : Float(to)
ranged_float
@@ -428,6 +434,9 @@
end
ranged_integer = Puppet::Pops::Types::PIntegerType.new()
from, to = keys
+ # NOTE! Do not merge the following line to 4.x. It has the same check in the initialize method
+ raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
+
ranged_integer.from = from == :default ? nil : from
ranged_integer.to = to == :default ? nil : to
ranged_integer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/issues.rb new/lib/puppet/pops/issues.rb
--- old/lib/puppet/pops/issues.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/issues.rb 1970-01-01 01:00:00.000000000 +0100
@@ -546,6 +546,10 @@
"Resource Override can only operate on resources, got: #{label.label(actual)}"
end
+ DUPLICATE_PARAMETER = hard_issue :DUPLICATE_PARAMETER, :param_name do
+ "The parameter '#{param_name}' is declared more than once in the parameter list"
+ end
+
RESERVED_PARAMETER = hard_issue :RESERVED_PARAMETER, :container, :param_name do
"The parameter $#{param_name} redefines a built in parameter in #{label.the(container)}"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/types/type_calculator.rb new/lib/puppet/pops/types/type_calculator.rb
--- old/lib/puppet/pops/types/type_calculator.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/types/type_calculator.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1069,11 +1069,7 @@
to = range.to
x = from.nil? ? 1 : from
y = to.nil? ? TheInfinity : to
- if x < y
- [x, y]
- else
- [y, x]
- end
+ [x, y]
end
# @api private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/types/type_factory.rb new/lib/puppet/pops/types/type_factory.rb
--- old/lib/puppet/pops/types/type_factory.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/types/type_factory.rb 1970-01-01 01:00:00.000000000 +0100
@@ -17,6 +17,9 @@
# @api public
#
def self.range(from, to)
+ # NOTE! Do not merge the following line to 4.x. It has the same check in the initialize method
+ raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
+
t = Types::PIntegerType.new()
# optimize eq with symbol (faster when it is left)
t.from = from unless (:default == from || from == 'default')
@@ -28,6 +31,9 @@
# @api public
#
def self.float_range(from, to)
+ # NOTE! Do not merge the following line to 4.x. It has the same check in the initialize method
+ raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
+
t = Types::PFloatType.new()
# optimize eq with symbol (faster when it is left)
t.from = Float(from) unless :default == from || from.nil?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/types/types.rb new/lib/puppet/pops/types/types.rb
--- old/lib/puppet/pops/types/types.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/types/types.rb 1970-01-01 01:00:00.000000000 +0100
@@ -121,11 +121,7 @@
def range
f = from || NEGATIVE_INFINITY
t = to || INFINITY
- if f < t
- [f, t]
- else
- [t,f]
- end
+ [f, t]
end
# Returns Enumerator if no block is given
@@ -133,11 +129,7 @@
def each
return self.to_enum unless block_given?
return nil if from.nil? || to.nil?
- if to < from
- from.downto(to) {|x| yield x }
- else
- from.upto(to) {|x| yield x }
- end
+ from.upto(to) {|x| yield x }
end
def hash
@@ -212,11 +204,7 @@
return [0, INFINITY] if size_type.nil?
f = size_type.from || 0
t = size_type.to || INFINITY
- if f < t
- [f, t]
- else
- [t,f]
- end
+ [f, t]
end
def hash
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/pops/validation/checker4_0.rb new/lib/puppet/pops/validation/checker4_0.rb
--- old/lib/puppet/pops/validation/checker4_0.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/pops/validation/checker4_0.rb 1970-01-01 01:00:00.000000000 +0100
@@ -233,6 +233,7 @@
def check_EppExpression(o)
if o.eContainer.is_a?(Puppet::Pops::Model::LambdaExpression)
internal_check_no_capture(o.eContainer, o)
+ internal_check_parameter_name_uniqueness(o.eContainer)
end
end
@@ -327,12 +328,14 @@
def check_HostClassDefinition(o)
check_NamedDefinition(o)
internal_check_no_capture(o)
+ internal_check_parameter_name_uniqueness(o)
internal_check_reserved_params(o)
end
def check_ResourceTypeDefinition(o)
check_NamedDefinition(o)
internal_check_no_capture(o)
+ internal_check_parameter_name_uniqueness(o)
internal_check_reserved_params(o)
end
@@ -366,6 +369,13 @@
end
end
+ def internal_check_parameter_name_uniqueness(o)
+ unique = Set.new
+ o.parameters.each do |p|
+ acceptor.accept(Issues::DUPLICATE_PARAMETER, p, {:param_name => p.name}) unless unique.add?(p.name)
+ end
+ end
+
def check_IfExpression(o)
rvalue(o.test)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/provider/group/windows_adsi.rb new/lib/puppet/provider/group/windows_adsi.rb
--- old/lib/puppet/provider/group/windows_adsi.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/provider/group/windows_adsi.rb 1970-01-01 01:00:00.000000000 +0100
@@ -39,6 +39,11 @@
return '' if users.nil? or !users.kind_of?(Array)
users = users.map do |user_name|
sid = Puppet::Util::Windows::SID.name_to_sid_object(user_name)
+ if !sid
+ resource.debug("#{user_name} (unresolvable to SID)")
+ next user_name
+ end
+
if sid.account =~ /\\/
account, _ = Puppet::Util::Windows::ADSI::User.parse_name(sid.account)
else
@@ -50,6 +55,10 @@
return users.join(',')
end
+ def member_valid?(user_name)
+ ! Puppet::Util::Windows::SID.name_to_sid_object(user_name).nil?
+ end
+
def group
@group ||= Puppet::Util::Windows::ADSI::Group.new(@resource[:name])
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/provider/package/pip.rb new/lib/puppet/provider/package/pip.rb
--- old/lib/puppet/provider/package/pip.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/provider/package/pip.rb 1970-01-01 01:00:00.000000000 +0100
@@ -3,6 +3,7 @@
require 'puppet/provider/package'
require 'xmlrpc/client'
+require 'puppet/util/http_proxy'
Puppet::Type.type(:package).provide :pip,
:parent => ::Puppet::Provider::Package do
@@ -56,7 +57,16 @@
# cache of PyPI's package list so this operation will always have to
# ask the web service.
def latest
- client = XMLRPC::Client.new2("http://pypi.python.org/pypi")
+ http_proxy_host = Puppet::Util::HttpProxy.http_proxy_host
+ http_proxy_port = Puppet::Util::HttpProxy.http_proxy_port
+ if http_proxy_host && http_proxy_port
+ proxy = "#{http_proxy_host}:#{http_proxy_port}"
+ else
+ # nil is acceptable
+ proxy = http_proxy_host
+ end
+
+ client = XMLRPC::Client.new2("http://pypi.python.org/pypi", proxy)
client.http_header_extra = {"Content-Type" => "text/xml"}
client.timeout = 10
result = client.call("package_releases", @resource[:name])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/provider/service/launchd.rb new/lib/puppet/provider/service/launchd.rb
--- old/lib/puppet/provider/service/launchd.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/provider/service/launchd.rb 1970-01-01 01:00:00.000000000 +0100
@@ -205,6 +205,12 @@
# format.
def self.read_plist(path)
begin
+ return Plist::parse_xml(path)
+ rescue ArgumentError => detail
+ Puppet.debug("Error reading #{path}: #{detail}. Retrying with plutil.")
+ end
+
+ begin
Plist::parse_xml(plutil('-convert', 'xml1', '-o', '/dev/stdout', path))
rescue Puppet::ExecutionFailure => detail
Puppet.warning("Cannot read file #{path}; Puppet is skipping it. \n" +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/provider/service/upstart.rb new/lib/puppet/provider/service/upstart.rb
--- old/lib/puppet/provider/service/upstart.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/provider/service/upstart.rb 1970-01-01 01:00:00.000000000 +0100
@@ -151,7 +151,11 @@
end
def status
- return super if not is_upstart?
+ if (@resource[:hasstatus] == :false) ||
+ @resource[:status] ||
+ ! is_upstart?
+ return super
+ end
output = status_exec(@resource[:name].split)
if output =~ /start\//
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/resource.rb new/lib/puppet/resource.rb
--- old/lib/puppet/resource.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/resource.rb 1970-01-01 01:00:00.000000000 +0100
@@ -387,7 +387,7 @@
begin
Puppet::DataBinding.indirection.find(
name,
- :environment => scope.environment.to_s,
+ :environment => scope.environment,
:variables => scope)
rescue Puppet::DataBinding::LookupError => e
raise Puppet::Error.new("Error from DataBinding '#{Puppet[:data_binding_terminus]}' while looking up '#{name}': #{e.message}", e)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/type/group.rb new/lib/puppet/type/group.rb
--- old/lib/puppet/type/group.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/type/group.rb 1970-01-01 01:00:00.000000000 +0100
@@ -80,7 +80,9 @@
newproperty(:members, :array_matching => :all, :required_features => :manages_members) do
desc "The members of the group. For directory services where group
- membership is stored in the group objects, not the users."
+ membership is stored in the group objects, not the users. Use
+ with auth_membership to determine whether the specified members
+ are inclusive or the minimum."
def change_to_s(currentvalue, newvalue)
currentvalue = currentvalue.join(",") if currentvalue != :absent
@@ -99,16 +101,26 @@
def is_to_s(currentvalue)
if provider.respond_to?(:members_to_s)
currentvalue = '' if currentvalue.nil?
- return provider.members_to_s(currentvalue.split(','))
+ currentvalue = currentvalue.is_a?(Array) ? currentvalue : currentvalue.split(',')
+
+ return provider.members_to_s(currentvalue)
end
super(currentvalue)
end
alias :should_to_s :is_to_s
+
+ validate do |value|
+ if provider.respond_to?(:member_valid?)
+ return provider.member_valid?(value)
+ end
+ end
end
newparam(:auth_membership, :boolean => true, :parent => Puppet::Parameter::Boolean) do
- desc "whether the provider is authoritative for group membership."
+ desc "Whether the provider is authoritative for group membership. This
+ must be set to true to allow setting the group to no members with
+ `members => [],`."
defaultto true
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/util/windows/security.rb new/lib/puppet/util/windows/security.rb
--- old/lib/puppet/util/windows/security.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/util/windows/security.rb 1970-01-01 01:00:00.000000000 +0100
@@ -372,7 +372,10 @@
dacl.allow(well_known_nobody_sid, nobody_allow)
# TODO: system should be first?
- dacl.allow(well_known_system_sid, system_allow)
+ flags = !isdir ? 0 :
+ Puppet::Util::Windows::AccessControlEntry::CONTAINER_INHERIT_ACE |
+ Puppet::Util::Windows::AccessControlEntry::OBJECT_INHERIT_ACE
+ dacl.allow(well_known_system_sid, system_allow, flags)
# add inherit-only aces for child dirs and files that are created within the dir
inherit_only = Puppet::Util::Windows::AccessControlEntry::INHERIT_ONLY_ACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/puppet/version.rb new/lib/puppet/version.rb
--- old/lib/puppet/version.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/puppet/version.rb 1970-01-01 01:00:00.000000000 +0100
@@ -7,7 +7,7 @@
module Puppet
- PUPPETVERSION = '3.8.4'
+ PUPPETVERSION = '3.8.5'
##
# version is a public API method intended to always provide a fast and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 1970-01-01 01:00:00.000000000 +0100
+++ new/metadata 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: puppet
version: !ruby/object:Gem::Version
- version: 3.8.4
+ version: 3.8.5
prerelease:
platform: ruby
authors:
@@ -9,7 +9,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2015-11-03 00:00:00.000000000 Z
+date: 2016-01-21 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: facter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/integration/util/windows/security_spec.rb new/spec/integration/util/windows/security_spec.rb
--- old/spec/integration/util/windows/security_spec.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/integration/util/windows/security_spec.rb 1970-01-01 01:00:00.000000000 +0100
@@ -237,6 +237,24 @@
system_aces.each do |ace|
ace.mask.should == klass::FILE_ALL_ACCESS && ! ace.inherited?
end
+
+ if Puppet::FileSystem.directory?(path)
+ system_aces.each do |ace|
+ ace.object_inherit?.should be_true
+ ace.container_inherit?.should be_true
+ end
+
+ # it's critically important that this file be default created
+ # and that this file not have it's owner / group / mode set by winsec
+ nested_file = File.join(path, 'nested_file')
+ File.new(nested_file, 'w').close
+
+ system_aces = winsec.get_aces_for_path_by_sid(nested_file, sids[:system])
+ # even when SYSTEM is the owner (in CI), there should be an inherited SYSTEM
+ system_aces.any? do |ace|
+ ace.mask == klass::FILE_ALL_ACCESS && ace.inherited?
+ end.should be_true
+ end
end
describe "for modes that require deny aces" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/daemon_spec.rb new/spec/unit/daemon_spec.rb
--- old/spec/unit/daemon_spec.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/unit/daemon_spec.rb 1970-01-01 01:00:00.000000000 +0100
@@ -47,15 +47,24 @@
let(:server) { stub("Server", :start => nil, :wait_for_shutdown => nil) }
describe "when setting signal traps" do
- signals = {:INT => :stop, :TERM => :stop }
- signals.update({:HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs}) unless Puppet.features.microsoft_windows?
- signals.each do |signal, method|
- it "should log and call #{method} when it receives #{signal}" do
- Signal.expects(:trap).with(signal).yields
+ [:INT, :TERM].each do |signal|
+ it "logs a notice and exits when sent #{signal}" do
+ Signal.stubs(:trap).with(signal).yields
+ Puppet.expects(:notice).with("Caught #{signal}; exiting")
+ daemon.expects(:stop)
- Puppet.expects(:notice)
+ daemon.set_signal_traps
+ end
+ end
+
+ {:HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs}.each do |signal, method|
+ it "logs a notice and remembers to call #{method} when it receives #{signal}" do
+ Signal.stubs(:trap).with(signal).yields
+ Puppet.expects(:notice).with("Caught #{signal}; storing #{method}")
daemon.set_signal_traps
+
+ expect(daemon.signals).to eq([method])
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/node_spec.rb new/spec/unit/node_spec.rb
--- old/spec/unit/node_spec.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/unit/node_spec.rb 1970-01-01 01:00:00.000000000 +0100
@@ -48,6 +48,14 @@
node.parameters["environment"] = :bar
node.environment.name.should == :bar
end
+
+ it "should allow its environment parameter to be set by attribute after initialization" do
+ node = Puppet::Node.new("foo", { :parameters => { 'environment' => :foo } })
+ node.environment_name = :foo
+ node.environment = :bar
+ expect(node.environment_name).to eq(:bar)
+ expect(node.parameters['environment']).to eq(:bar)
+ end
end
it "can survive a round-trip through YAML" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/unit/pops/evaluator/access_ops_spec.rb new/spec/unit/pops/evaluator/access_ops_spec.rb
--- old/spec/unit/pops/evaluator/access_ops_spec.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/unit/pops/evaluator/access_ops_spec.rb 1970-01-01 01:00:00.000000000 +0100
@@ -123,9 +123,9 @@
expect(evaluate(expr)).to eql(range(1,1))
end
- it 'produces an Integer[from,