Skip to content

Instantly share code, notes, and snippets.

@Iristyle
Last active May 9, 2016 23:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Iristyle/057c5560dbe64532fd1770a36e51f805 to your computer and use it in GitHub Desktop.
Save Iristyle/057c5560dbe64532fd1770a36e51f805 to your computer and use it in GitHub Desktop.
Executing Puppet spec suite against Nano Server / Ruby
[10.0.16.145]: PS C:\puppet> bundle exec facter
bundle : Could not retrieve fact='processors', resolution='<anonymous>': undefined method `Count' for []:Array
+ CategoryInfo : NotSpecified: (Could not retri...t' for []:Array:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Could not retrieve fact='processors', resolution='<anonymous>': undefined method `Count' for []:Array
Could not retrieve fact='processors', resolution='<anonymous>': undefined method `Count' for []:Array
Could not retrieve fact='processors', resolution='<anonymous>': undefined method `Count' for []:Array
Could not retrieve fact='system_uptime', resolution='<anonymous>': no implicit conversion of nil into String
Could not retrieve fact='system_uptime', resolution='<anonymous>': no implicit conversion of nil into String
Could not retrieve fact='uptime', resolution='<anonymous>': undefined method `[]' for nil:NilClass
Could not retrieve fact='system_uptime', resolution='<anonymous>': no implicit conversion of nil into String
Could not retrieve fact='uptime_days', resolution='<anonymous>': undefined method `[]' for nil:NilClass
Could not retrieve fact='system_uptime', resolution='<anonymous>': no implicit conversion of nil into String
Could not retrieve fact='uptime_hours', resolution='<anonymous>': undefined method `[]' for nil:NilClass
Could not retrieve fact='system_uptime', resolution='<anonymous>': no implicit conversion of nil into String
Could not retrieve fact='uptime_seconds', resolution='<anonymous>': undefined method `[]' for nil:NilClass
architecture =>
facterversion => 2.4.6
fqdn => PuppetNano
hardwaremodel =>
hostname => PuppetNano
interfaces =>
ipaddress => 10.240.0.10
is_virtual => false
kernel => windows
kernelmajversion => 10.0
kernelrelease => 10.0.14300
kernelversion => 10.0.14300
manufacturer =>
memoryfree => 0.00 MB
memoryfree_mb => 0.00
memorysize => 0.00 MB
memorysize_mb => 0.00
operatingsystem => windows
os => {"name"=>"windows", "family"=>"windows"}
osfamily => windows
path => C:/puppet/.bundle/gems/ruby/2.1.0/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\C:\ruby21\bin\;;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ruby21\bin\
productname =>
ps => tasklist.exe
puppetversion => 4.4.2
rubyplatform => x64-mingw32
rubysitedir => C:/ruby21/lib/ruby/site_ruby/2.1.0
rubyversion => 2.1.8
serialnumber =>
system32 => C:\Windows\system32
timezone => Pacific Daylight Time
virtual => physical
PATH
remote: .
specs:
puppet (4.4.2)
facter (>= 1.7, < 4)
hiera (>= 2.0, < 4)
GEM
remote: https://rubygems.org/
specs:
addressable (2.4.0)
builder (3.2.2)
crack (0.4.3)
safe_yaml (~> 1.0.0)
diff-lcs (1.2.5)
facter (2.4.6-x64-mingw32)
ffi (~> 1.9.5)
win32-dir (~> 0.4.8)
win32-security (~> 0.2.5)
ffi (1.9.10-x64-mingw32)
hashdiff (0.3.0)
hiera (3.1.1-x64-mingw32)
json_pure
win32-dir (~> 0.4.8)
json_pure (1.8.3)
metaclass (0.0.4)
minitar (0.5.4)
mocha (0.10.5)
metaclass (~> 0.0.1)
msgpack (0.7.5-x64-mingw32)
net-ssh (2.9.4)
puppet-lint (1.1.0)
puppet-syntax (2.1.0)
rake
puppetlabs_spec_helper (1.1.1)
mocha
puppet-lint
puppet-syntax
rake
rspec-puppet
rack (1.6.4)
rake (10.1.1)
rspec (3.4.0)
rspec-core (~> 3.4.0)
rspec-expectations (~> 3.4.0)
rspec-mocks (~> 3.4.0)
rspec-collection_matchers (1.1.2)
rspec-expectations (>= 2.99.0.beta1)
rspec-core (3.4.4)
rspec-support (~> 3.4.0)
rspec-expectations (3.4.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-its (1.2.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-legacy_formatters (1.0.1)
rspec (~> 3.0)
rspec-mocks (3.4.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-puppet (2.4.0)
rspec
rspec-support (3.4.1)
ruby-prof (0.15.9)
safe_yaml (1.0.4)
thread_safe (0.3.5)
tzinfo (1.2.2)
thread_safe (~> 0.1)
vcr (2.9.3)
webmock (1.24.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
win32-dir (0.4.9)
ffi (>= 1.0.0)
win32-eventlog (0.6.5)
ffi
win32-process (0.7.5)
ffi (>= 1.0.0)
win32-security (0.2.5)
ffi
win32-service (0.8.7)
ffi
yarjuf (2.0.0)
builder
rspec (~> 3)
PLATFORMS
x64-mingw32
DEPENDENCIES
CFPropertyList (~> 2.2.6)
facter (> 2.0, < 4)
ffi (~> 1.9.6)
hiera (>= 2.0, < 4)
json-schema (= 2.1.1)
minitar (~> 0.5.4)
mocha (~> 0.10.5)
msgpack
multi_json (= 1.7.7)
net-ssh (~> 2.1)
pry
puppet!
puppetlabs_spec_helper
racc (= 1.4.9)
rack (~> 1.4)
rake (= 10.1.1)
rdoc (~> 4.1)
redcarpet (~> 2.0)
rspec (~> 3.1)
rspec-collection_matchers (~> 1.1)
rspec-its (~> 1.1)
rspec-legacy_formatters (~> 1.0)
rubocop (~> 0.39.0)
ruby-prof
tzinfo
vcr (~> 2.9)
webmock
win32-dir (~> 0.4.9)
win32-eventlog (~> 0.6.2)
win32-process (~> 0.7.4)
win32-security (~> 0.2.5)
win32-service (~> 0.8.6)
yard
yarjuf (~> 2.0)
BUNDLED WITH
1.11.2
[10.0.16.145]: PS C:\puppet> bundle exec rspec spec
bundle : Failed to load feature test for rack: cannot load such file -- rack
+ CategoryInfo : NotSpecified: (Failed to load ...ch file -- rack:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Run options: exclude {:broken=>true, :benchmark=>true}
......................................................................................................................................................................................................................................................................................................................................................................................................................................................**........................................................................................................................................................................................*.......................................................................................................................................................................................................................................................................................................................................F......................................................................................*.................................................................*.....................................................................................................................*.........................................................................................F.F.F.F........................**FF.................FFF..................................................**FF...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*...
.
..................................................................................................................................................Debug: Failed to load library 'syslog' for feature 'syslog'
Error: No error - OpenEventLog
................................................................................................................................*...............................................................................................................................................................................................................................................................................................................................................................................*.......................*..*.........*...........................................................................................................................................................................................................................................................................................................................................................................................................................................*......*..*.*...*.......*....*.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................**...................*.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.................................................................................................................................................................................................................................................................................................................................................*............................******........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*..........................................................................................................................................................................................................*.*.*.....................*................................................................................................................................*..................................................................**......................................................**..........................................................................................................................................................................................................................................................................................**.......*.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................FF.......................................................................................................................................................................................................................................................................................................................................................................................................................................F.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F.................................................................................................................................................................................FFFFFFFFFFFFFFFFFFFFFF...............................................................................................................................FFFFFFFFFFFFFFFFFFFF................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*******...................................................................................................................**..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.............................................................................................**................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................*.........................................................................................................................................................................................................*..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F...................................................................................................................................
Pending: (Failures listed here are expected and do not affect your suite's status)
1) Puppet::Network::AuthConfig allow should support hostname ending with '.'
# bug #7589
Failure/Error: expect(@auth).to allow(request(:node => 'host.domain.com.'))
expected host.domain.com./10.1.1.1 to be allowed
# ./spec/integration/network/authconfig_spec.rb:131:in `block (3 levels) in <top (required)>'
2) Puppet::Network::AuthConfig allow should support hostname ending with '.' and backreferences
# bug #7589
Failure/Error: expect(@auth).to allow(request(:node => 'host.domain.com.'))
expected host.domain.com./10.1.1.1 to be allowed
# ./spec/integration/network/authconfig_spec.rb:138:in `block (3 levels) in <top (required)>'
3) Puppet::Parser::Compiler the compiler when using future parser and evaluator should be able to determine the configuration version from a local version control repository
# Bug #14071 about semantics of Puppet::Util::Execute on Windows
Failure/Error: version = %x{git rev-parse HEAD}.chomp
Errno::ENOENT:
No such file or directory - git rev-parse HEAD
# ./spec/integration/parser/compiler_spec.rb:1042:in ``'
# ./spec/integration/parser/compiler_spec.rb:1042:in `block (3 levels) in <top (required)>'
4) Puppet::Type::File when setting permissions when setting mode for files should not set executable bits when replacing an executable directory (#10365)
# bug #10365
Failure/Error: expect(get_mode(path) & 07777).to eq(0666)
expected: 438
got: 511
(compared using ==)
# ./spec/integration/type/file_spec.rb:278:in `block (5 levels) in <top (required)>'
# ./spec/integration/type/file_spec.rb:76:in `block (3 levels) in <top (required)>'
# ./lib/puppet/context.rb:65:in `override'
# ./lib/puppet.rb:240:in `override'
# ./spec/integration/type/file_spec.rb:75:in `block (2 levels) in <top (required)>'
5) Puppet::Type::File when recursing when recursing remote directories for the 2nd time when checksum_type is ctime should update the target directory if contents change
# a way to appropriately mock ctime checks for a particular file
Failure/Error: expect(status).to be_changed
expected `#<Puppet::Resource::Status:0x0000001f497590 @real_resource=#<Puppet::Type::File:0x0000001f436880 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f435b60 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f4358b8 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:windows>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f435408 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=false>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f435318 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:ctime>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f434c88 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f4349e0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f4347b0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f4345d0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f434378 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f4341c0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f4340d0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f4445e8 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f444fc0 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=:notice>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f46f978 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp/x"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f444ed0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type=:ctime, @ftype="file", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp/x", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path="x", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :content=>#<Puppet::Type::File::Content:0x0000001f497c48 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @shouldorig=["{ctime}2016-04-07 15:22:55 -0700"], @should=["{ctime}2016-04-07 15:22:55 -0700"]>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f4976a8 @resource=#<Puppet::Type::File:0x0000001f436880 ...>, @shouldorig=["file"], @should=[:file]>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 @in_to={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>{}, #<Puppet::Type::File:0x0000001f436880 ...>=>{nil=>[{ => File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] }]}, nil=>{}}, @out_from={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>{}, #<Puppet::Type::File:0x0000001f436880 ...>=>{}, nil=>{#<Puppet::Type::File:0x0000001f436880 ...>=>[{ => File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] }]}}, @upstream_from={}, @downstream_from={}, @name=nil, @catalog_uuid="3a186b17-0f3e-4893-985d-ca97d0ce2435", @catalog_format=1, @metadata={}, @recursive_metadata={}, @classes=[], @resource_table={["File", "C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing"]=>#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">, ["File", "C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x"]=>#<Puppet::Type::File:0x0000001f436880 ...>}, @resources=[["File", "C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing"], ["File", "C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x"]], @relationship_graph=#<Puppet::Graph::RelationshipGraph:0x0000001f40e150 @in_to={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>{}, #<Puppet::Type::File:0x0000001f436880 ...>=>{#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing] => File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] }]}, #<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>{#<Puppet::Type::File:0x0000001f436880 ...>=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] => C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing }], #<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing] => C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing }]}}, @out_from={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>{#<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing] => C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing }], #<Puppet::Type::File:0x0000001f436880 ...>=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing] => File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] }]}, #<Puppet::Type::File:0x0000001f436880 ...>=>{#<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>[{ File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x] => C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing }]}, #<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>{}}, @upstream_from={}, @downstream_from={}, @prioritizer=#<Puppet::Graph::SequentialPrioritizer:0x0000001f40ee70 @priority={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>#<Puppet::Graph::Key:0x0000001f40de58 @value=[1]>, #<Puppet::Type::File:0x0000001f436880 ...>=>#<Puppet::Graph::Key:0x0000001f46eeb0 @value=[1, 1]>, #<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>#<Puppet::Graph::Key:0x0000001f46c6d8 @value=[1, 2]>}, @container={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>#<Puppet::Graph::Key:0x0000001f46c6d8 @value=[1, 2]>}, @count=#<Puppet::Graph::Key:0x0000001f40de58 @value=[1]>>, @ready=#<Puppet::Graph::RbTreeMap:0x0000001f40e060 @root=nil, @size=0>, @generated={}, @done={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>true, #<Puppet::Type::File:0x0000001f436880 ...>=>true, #<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>true}, @blockers={#<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>0, #<Puppet::Type::File:0x0000001f436880 ...>=>0}, @providerless_types=[]>, @host_config=true, @environment_instance=<Puppet::Node::Environment::None:22063040 @name="none" @manifest="no_manifest" @modulepath="" >, @environment="none", @code_id=nil, @aliases={}, @prioritizer=#<Puppet::Graph::SequentialPrioritizer:0x0000001f40ee70 @priority={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>#<Puppet::Graph::Key:0x0000001f40de58 @value=[1]>, #<Puppet::Type::File:0x0000001f436880 ...>=>#<Puppet::Graph::Key:0x0000001f46eeb0 @value=[1, 1]>, #<Puppet::Type::Whit:0x0000001f46de20 @parameters={:name=>#<Puppet::Type::Whit::ParameterName:0x0000001f46cef8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f46c9f8 @resource=#<Puppet::Type::Whit:0x0000001f46de20 ...>, @value=:notice>}, @title="completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"whit"}>, @original_parameters={}, @name_var_cache=:name, @ref="Whit[completed_C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @to_s="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @parent=nil>=>#<Puppet::Graph::Key:0x0000001f46c6d8 @value=[1, 2]>}, @container={#<Puppet::Type::File:0x0000001f4071e8 @clients={}, @parameters={:path=>#<Puppet::Type::File::ParameterPath:0x0000001f406040 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing">, :provider=>#<Puppet::Type::File::ParameterProvider:0x0000001f405cd0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:windows>, :ensure=>#<Puppet::Type::File::Ensure:0x0000001f405780 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @shouldorig=["directory"], @should=[:directory]>, :backup=>#<Puppet::Type::File::ParameterBackup:0x0000001f4053e8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :recurse=>#<Puppet::Type::File::ParameterRecurse:0x0000001f4052f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :checksum=>#<Puppet::Type::File::ParameterChecksum:0x0000001f405190 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ctime>, :source=>#<Puppet::Type::File::ParameterSource:0x0000001f404ec0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=["file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"], @metadata=#<Puppet::FileServing::Metadata:0x0000001f445fb0 @owner="S-1-5-32-544", @group="S-1-0-0", @mode=420, @checksum_type="ctime", @ftype="directory", @destination=nil, @source="file:/C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @content_uri=nil, @path="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp", @links=:manage, @expiration=2016-04-07 15:52:55 -0700, @relative_path=".", @stat_method=:lstat, @checksum="{ctime}2016-04-07 15:22:55 -0700", @source_permissions=:ignore>>, :replace=>#<Puppet::Type::File::ParameterReplace:0x0000001f4041c8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :links=>#<Puppet::Type::File::ParameterLinks:0x0000001f40c5f8 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:manage>, :purge=>#<Puppet::Type::File::ParameterPurge:0x0000001f40d188 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=false>, :sourceselect=>#<Puppet::Type::File::ParameterSourceselect:0x0000001f40ded0 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:first>, :show_diff=>#<Puppet::Type::File::ParameterShow_diff:0x0000001f40e830 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=true>, :validate_replacement=>#<Puppet::Type::File::ParameterValidate_replacement:0x0000001f40ef38 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value="%">, :source_permissions=>#<Puppet::Type::File::ParameterSource_permissions:0x0000001f40f320 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:ignore>, :selinux_ignore_defaults=>#<Puppet::Type::File::ParameterSelinux_ignore_defaults:0x0000001f40fd70 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:false>, :loglevel=>#<Puppet::Type::MetaParamLoglevel:0x0000001f40fd98 @resource=#<Puppet::Type::File:0x0000001f4071e8 ...>, @value=:notice>}, @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing", @catalog=#<Puppet::Resource::Catalog:0x0000001f407710 ...>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:ensure=>:directory, :backup=>false, :recurse=>true, :checksum=>"ctime", :source=>"C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/one20160407-1852-tceaxp"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=2016-04-07 15:22:55 -0700, mtime=2016-04-07 15:22:55 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing]">=>#<Puppet::Graph::Key:0x0000001f46c6d8 @value=[1, 2]>}, @count=#<Puppet::Graph::Key:0x0000001f40de58 @value=[1]>>>, @tags=#<Puppet::Util::TagSet: {"file"}>, @original_parameters={:backup=>false, :checksum=>"ctime"}, @name_var_cache=:path, @provider=File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x](provider=windows), @stat=#<File::Stat dev=0x2, ino=0, mode=0100644, nlink=1, uid=0, gid=0, rdev=0x2, size=12000, blksize=nil, blocks=nil, atime=2016-04-07 15:22:35 -0700, mtime=2016-04-07 15:22:35 -0700, ctime=2016-04-07 15:22:55 -0700>, @ref="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x]", @parent=nil, @path="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x]">, @source_description="/File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x]", @containment_path=["File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x]"], @resource="File[C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x]", @change_count=0, @out_of_sync_count=0, @changed=false, @out_of_sync=false, @skipped=false, @failed=false, @file=nil, @line=nil, @tags=#<Puppet::Util::TagSet: {"file"}>, @time=2016-04-07 15:22:55 -0700, @events=[], @resource_type="File", @title="C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/file_spec20160407-1852-l03468/file_testing/x", @evaluation_time=0.0>.changed?` to return true, got false
# ./spec/integration/type/file_spec.rb:840:in `block (6 levels) in <top (required)>'
# ./spec/integration/type/file_spec.rb:76:in `block (3 levels) in <top (required)>'
# ./lib/puppet/context.rb:65:in `override'
# ./lib/puppet.rb:240:in `override'
# ./spec/integration/type/file_spec.rb:75:in `block (2 levels) in <top (required)>'
6) Puppet::Type::Package when choosing a default package provider should choose the correct provider each platform
# No default provider specified in this test for windows
Failure/Error: expect(Puppet::Type.type(:package).defaultprovider.name).to eq(default_provider)
expected: nil
got: :windows
(compared using ==)
# ./spec/integration/type/package_spec.rb:55:in `block (2 levels) in <top (required)>'
7) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid is NULL should retrieve an empty owner sid
# Not yet implemented
# ./spec/integration/util/windows/security_spec.rb:471
8) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid is NULL should retrieve an empty group sid
# Not yet implemented
# ./spec/integration/util/windows/security_spec.rb:472
9) Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid is NULL should retrieve an empty owner sid
# Not yet implemented
# ./spec/integration/util/windows/security_spec.rb:471
10) Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid is NULL should retrieve an empty group sid
# Not yet implemented
# ./spec/integration/util/windows/security_spec.rb:472
11) Puppet::Application::FaceBase#render default rendering should render a hash nicely with a multi-line value
# Moving to PSON rather than PP makes this unsupportable.
Failure/Error:
expect(app.render(hash, {})).to eq <<EOT
number {"1"=>"1111111111111111111111111111111111111111",
"2"=>"2222222222222222222222222222222222222222",
"3"=>"3333333333333333333333333333333333333333"}
text {"a"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"b"=>"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"c"=>"cccccccccccccccccccccccccccccccccccccccc"}
EOT
expected: "number {\"1\"=>\"1111111111111111111111111111111111111111\",\n \"2\"=>\"2222222222222222222222222222222222222222\",\n \"3\"=>\"3333333333333333333333333333333333333333\"}\ntext {\"a\"=>\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"b\"=>\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\n \"c\"=>\"cccccccccccccccccccccccccccccccccccccccc\"}\n"
got: "number {\"1\":\"1111111111111111111111111111111111111111\",\"2\":\"2222222222222222222222222222222222222222\",\"3\":\"3333333333333333333333333333333333333333\"}\ntext {\"a\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"b\":\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"c\":\"cccccccccccccccccccccccccccccccccccccccc\"}\n"
(compared using ==)
Diff:
@@ -1,7 +1,3 @@
-number {"1"=>"1111111111111111111111111111111111111111",
- "2"=>"2222222222222222222222222222222222222222",
- "3"=>"3333333333333333333333333333333333333333"}
-text {"a"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
- "b"=>"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
- "c"=>"cccccccccccccccccccccccccccccccccccccccc"}
+number {"1":"1111111111111111111111111111111111111111","2":"2222222222222222222222222222222222222222","3":"3333333333333333333333333333333333333333"}
+text {"a":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","c":"cccccccccccccccccccccccccccccccccccccccc"}
# ./spec/unit/application/face_base_spec.rb:356:in `block (4 levels) in <top (required)>'
12) Puppet::Configurer::FactHandler should generate valid facts data against the facts schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(CGI.unescape(facthandler.facts_for_uploading[:facts])).to validate_against('api/schemas/facts.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/configurer/fact_handler_spec.rb:92:in `block (2 levels) in <top (required)>'
13) Puppet::Face[:catalog, v0.0.1] should actually have some testing...
# Not yet implemented
# ./spec/unit/face/catalog_spec.rb:6
14) Puppet::Face[:config, v0.0.1] when printing environment settings from main section behaves like config_printing_a_section prints the default configured env settings for an env that does not exist
# This case no longer exists because Application will through an error before we even get here because of the non-existent environment
Failure/Error:
expect { subject.print(*add_section_option(args, section)) }.to have_printed(<<-OUTPUT)
environmentpath = #{File.expand_path("/dev/null/environments")}
manifest = no_manifest
modulepath =
environment = doesnotexist
basemodulepath = #{File.expand_path("/some/base")}
OUTPUT
expected "environmentpath = C:/dev/null/environments\nmanifest = no_manifest\nmodulepath = \nenvironment = doesnotexist\nbasemodulepath = C:/some/base\n" to be printed; got:
environmentpath = C:/dev/null/environments
manifest =
modulepath =
environment = doesnotexist
basemodulepath = C:/some/base
Shared Example Group: :config_printing_a_section called from ./spec/unit/face/config_spec.rb:125
# ./spec/unit/face/config_spec.rb:104:in `block (4 levels) in <module:PuppetFaceSpecs>'
# ./lib/puppet/file_system.rb:27:in `overlay'
# ./spec/unit/face/config_spec.rb:98:in `block (3 levels) in <module:PuppetFaceSpecs>'
15) Puppet::Face[:config, v0.0.1] when printing environment settings from master section behaves like config_printing_a_section prints the default configured env settings for an env that does not exist
# This case no longer exists because Application will through an error before we even get here because of the non-existent environment
Failure/Error:
expect { subject.print(*add_section_option(args, section)) }.to have_printed(<<-OUTPUT)
environmentpath = #{File.expand_path("/dev/null/environments")}
manifest = no_manifest
modulepath =
environment = doesnotexist
basemodulepath = #{File.expand_path("/some/base")}
OUTPUT
expected "environmentpath = C:/dev/null/environments\nmanifest = no_manifest\nmodulepath = \nenvironment = doesnotexist\nbasemodulepath = C:/some/base\n" to be printed; got:
environmentpath = C:/dev/null/environments
manifest =
modulepath =
environment = doesnotexist
basemodulepath = C:/some/base
Shared Example Group: :config_printing_a_section called from ./spec/unit/face/config_spec.rb:138
# ./spec/unit/face/config_spec.rb:104:in `block (4 levels) in <module:PuppetFaceSpecs>'
# ./lib/puppet/file_system.rb:27:in `overlay'
# ./spec/unit/face/config_spec.rb:98:in `block (3 levels) in <module:PuppetFaceSpecs>'
16) Puppet::Face[:epp, v0.0.1] validate from an interactive terminal in an environment with templates validates all templates in the environment
# NOT IMPLEMENTED YET
Failure/Error: expect { eppface.validate(:continue_on_error => true) }.to raise_exception(Puppet::Error, /Errors while validating epp/)
expected Puppet::Error with message matching /Errors while validating epp/ but nothing was raised
# ./spec/unit/face/epp_face_spec.rb:85:in `block (5 levels) in <top (required)>'
# ./spec/unit/face/epp_face_spec.rb:57:in `block (6 levels) in <top (required)>'
# ./lib/puppet/context.rb:65:in `override'
# ./lib/puppet.rb:240:in `override'
# ./spec/unit/face/epp_face_spec.rb:56:in `block (5 levels) in <top (required)>'
17) Puppet::FileServing::Metadata on Windows systems it should behave like metadata collector when collecting attributes when managing files should validate against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(metadata.to_pson).to validate_against('api/schemas/file_metadata.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
Shared Example Group: "metadata collector" called from ./spec/unit/file_serving/metadata_spec.rb:403
# ./spec/unit/file_serving/metadata_spec.rb:175:in `block (5 levels) in <top (required)>'
18) Puppet::FileServing::Metadata on Windows systems it should behave like metadata collector when collecting attributes when managing files when a source and content_uri are set should validate against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(metadata.to_pson).to validate_against('api/schemas/file_metadata.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
Shared Example Group: "metadata collector" called from ./spec/unit/file_serving/metadata_spec.rb:403
# ./spec/unit/file_serving/metadata_spec.rb:185:in `block (6 levels) in <top (required)>'
19) Puppet::FileServing::Metadata on Windows systems it should behave like metadata collector when collecting attributes when managing directories should validate against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(metadata.to_pson).to validate_against('api/schemas/file_metadata.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
Shared Example Group: "metadata collector" called from ./spec/unit/file_serving/metadata_spec.rb:403
# ./spec/unit/file_serving/metadata_spec.rb:212:in `block (5 levels) in <top (required)>'
20) Puppet::FileServing::Metadata on Windows systems it should behave like metadata collector symlinks when collecting attributes when managing links should validate against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(metadata.to_pson).to validate_against('api/schemas/file_metadata.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
Shared Example Group: "metadata collector symlinks" called from ./spec/unit/file_serving/metadata_spec.rb:404
# ./spec/unit/file_serving/metadata_spec.rb:281:in `block (5 levels) in <top (required)>'
21) Puppet::FileServing::Metadata on Windows systems it should behave like metadata collector symlinks Puppet::FileServing::Metadata when finding the file to use for setting attributes should validate against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(metadata.to_pson).to validate_against('api/schemas/file_metadata.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
Shared Example Group: "metadata collector symlinks" called from ./spec/unit/file_serving/metadata_spec.rb:404
# ./spec/unit/file_serving/metadata_spec.rb:315:in `block (4 levels) in <top (required)>'
22) Puppet::FileServing::Metadata when pointing to a link when digest_algorithm is md5 when links are managed should not collect the checksum if links are :manage
# No reason given
Failure/Error: expect(@file.checksum).to be_nil
expected: nil
got: "{md5}f0d7d4e480ad698ed56aeec8b6bd6dea"
# ./spec/unit/file_serving/metadata_spec.rb:492:in `block (4 levels) in <top (required)>'
23) Puppet::FileServing::Metadata when pointing to a link when digest_algorithm is sha256 when links are managed should not collect the checksum if links are :manage
# No reason given
Failure/Error: expect(@file.checksum).to be_nil
expected: nil
got: "{sha256}409a11465ed0938227128b1756c677a8480a8b84814f1963853775e15a74d4b4"
# ./spec/unit/file_serving/metadata_spec.rb:492:in `block (4 levels) in <top (required)>'
24) Puppet::Indirector::FileContent::Rest should add the node's cert name to the arguments
# Not yet implemented
# ./spec/unit/indirector/file_content/rest_spec.rb:7
25) Puppet::Indirector::FileContent::Rest should set the content type to text/plain
# Not yet implemented
# ./spec/unit/indirector/file_content/rest_spec.rb:9
26) Puppet::Indirector::Metadata::Rest should add the node's cert name to the arguments
# Not yet implemented
# ./spec/unit/indirector/file_metadata/rest_spec.rb:8
27) Puppet::Indirector::StoreConfigs REVISIT: creating an instance requires ludicrous amounts of stubbing, and there is relatively little to actually test here. What to do? Shared behaviours allow us to push down a lot of the testing into the implementation class tests anyhow...
# Not yet implemented
# ./spec/unit/indirector/store_configs_spec.rb:7
28) Puppet::Interface::Action it should behave like documentation on faces #license should accept symbols to specify existing licenses...
# Not yet implemented
# ./spec/shared_behaviours/documentation_on_faces.rb:180
29) Puppet::Interface::Action#when_rendering should fail if no type is given when_rendering
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:542
30) Puppet::Interface::Action#when_rendering should accept a when_rendering block
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:543
31) Puppet::Interface::Action#when_rendering should accept multiple when_rendering blocks
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:544
32) Puppet::Interface::Action#when_rendering should fail if when_rendering gets a non-symbol identifier
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:545
33) Puppet::Interface::Action#when_rendering should fail if a second block is given for the same type
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:546
34) Puppet::Interface::Action#when_rendering should return the block if asked
# Not yet implemented
# ./spec/unit/interface/action_spec.rb:547
35) Puppet::Interface it should behave like documentation on faces #license should accept symbols to specify existing licenses...
# Not yet implemented
# ./spec/shared_behaviours/documentation_on_faces.rb:180
36) Puppet::Network::AuthStore::Declaration when the pattern is a numeric IP with a back reference implementation of backreferences for IP
# No reason given
Failure/Error:
before :each do
@ip = '100.101.$1'
@declaration = Puppet::Network::AuthStore::Declaration.new(:allow_ip,@ip).interpolate('12.34'.match(/(.*)/))
end
`before` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).
# ./spec/unit/network/authstore_spec.rb:107:in `block (3 levels) in <top (required)>'
37) Puppet::Network::AuthStore::Declaration when the pattern is a PQDN should not match a similar FQDN
# FQDN consensus
Failure/Error: expect(@declaration).not_to be_match(@host+'.','200.101.99.98')
expected `#<Puppet::Network::AuthStore::Declaration:0x00000017a859a0 @type=:allow, @name=:domain, @exact=:exact, @length=nil, @pattern=["gov", "nasa", "mars", "spirit"], @orig="spirit.mars.nasa.gov">.match?("spirit.mars.nasa.gov.", "200.101.99.98")` to return false, got true
# ./spec/unit/network/authstore_spec.rb:329:in `block (4 levels) in <top (required)>'
38) Puppet::Network::AuthStore::Declaration when the pattern is a PQDN with digits should not match a similar FQDN
# FQDN consensus
Failure/Error: expect(@declaration).not_to be_match(@host+'.','200.101.99.98')
expected `#<Puppet::Network::AuthStore::Declaration:0x00000015b8e8d0 @type=:allow, @name=:domain, @exact=:exact, @length=nil, @pattern=["com", "2ndsiteinc", "ratchet"], @orig="ratchet.2ndsiteinc.com">.match?("ratchet.2ndsiteinc.com.", "200.101.99.98")` to return false, got true
# ./spec/unit/network/authstore_spec.rb:329:in `block (4 levels) in <top (required)>'
39) Puppet::Network::AuthStore::Declaration when the pattern is a PQDN with short segments should not match a similar FQDN
# FQDN consensus
Failure/Error: expect(@declaration).not_to be_match(@host+'.','200.101.99.98')
expected `#<Puppet::Network::AuthStore::Declaration:0x000000164862f8 @type=:allow, @name=:domain, @exact=:exact, @length=nil, @pattern=["ru", "c", "a"], @orig="a.c.ru">.match?("a.c.ru.", "200.101.99.98")` to return false, got true
# ./spec/unit/network/authstore_spec.rb:329:in `block (4 levels) in <top (required)>'
40) Puppet::Network::AuthStore::Declaration when the pattern is a FQDN should match the specified FQDN
# FQDN consensus
Failure/Error: expect(@declaration).to be_match(@host,'200.101.99.98')
expected `#<Puppet::Network::AuthStore::Declaration:0x00000017a6f8f8 @type=:allow, @name=:opaque, @exact=:exact, @length=nil, @pattern=["spirit.mars.nasa.gov."], @orig="spirit.mars.nasa.gov.">.match?("spirit.mars.nasa.gov.", "200.101.99.98")` to return true, got false
# ./spec/unit/network/authstore_spec.rb:363:in `block (3 levels) in <top (required)>'
41) Puppet Network Format :console format should render a hash nicely with a multi-line value
# Moving to PSON rather than PP makes this unsupportable.
Failure/Error:
expect(subject.render(hash)).to eq <<EOT
number {"1"=>"1111111111111111111111111111111111111111",
"2"=>"2222222222222222222222222222222222222222",
"3"=>"3333333333333333333333333333333333333333"}
text {"a"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"b"=>"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"c"=>"cccccccccccccccccccccccccccccccccccccccc"}
EOT
expected: "number {\"1\"=>\"1111111111111111111111111111111111111111\",\n \"2\"=>\"2222222222222222222222222222222222222222\",\n \"3\"=>\"3333333333333333333333333333333333333333\"}\ntext {\"a\"=>\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"b\"=>\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\n \"c\"=>\"cccccccccccccccccccccccccccccccccccccccc\"}\n"
got: "number {\"1\":\"1111111111111111111111111111111111111111\",\"2\":\"2222222222222222222222222222222222222222\",\"3\":\"3333333333333333333333333333333333333333\"}\ntext {\"a\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"b\":\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"c\":\"cccccccccccccccccccccccccccccccccccccccc\"}\n"
(compared using ==)
Diff:
@@ -1,7 +1,3 @@
-number {"1"=>"1111111111111111111111111111111111111111",
- "2"=>"2222222222222222222222222222222222222222",
- "3"=>"3333333333333333333333333333333333333333"}
-text {"a"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
- "b"=>"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
- "c"=>"cccccccccccccccccccccccccccccccccccccccc"}
+number {"1":"1111111111111111111111111111111111111111","2":"2222222222222222222222222222222222222222","3":"3333333333333333333333333333333333333333"}
+text {"a":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","c":"cccccccccccccccccccccccccccccccccccccccc"}
# ./spec/unit/network/formats_spec.rb:326:in `block (3 levels) in <top (required)>'
42) Puppet::Network::HTTP::API::Master::V3::Environments the response conforms to the environments schema for unlimited timeout
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(response.body).to validate_against('api/schemas/environments.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/network/http/api/master/v3/environments_spec.rb:46:in `block (2 levels) in <top (required)>'
43) Puppet::Network::HTTP::API::Master::V3::Environments the response conforms to the environments schema for integer timeout
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(response.body).to validate_against('api/schemas/environments.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/network/http/api/master/v3/environments_spec.rb:60:in `block (2 levels) in <top (required)>'
44) Puppet::Network::HTTP::Error Puppet::Network::HTTP::Error::HTTPError should serialize to JSON that matches the error schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(error.to_json).to validate_against('api/schemas/error.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/network/http/error_spec.rb:13:in `block (3 levels) in <top (required)>'
45) Puppet::Network::HTTP::Error Puppet::Network::HTTP::Error::HTTPServerError should serialize to JSON that matches the error schema and has the optional stacktrace property
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(error.to_json).to validate_against('api/schemas/error.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/network/http/error_spec.rb:26:in `block (3 levels) in <top (required)>'
46) Puppet::Node::Facts when indirecting when indirecting when the Puppet application is 'master' should default to the 'yaml' terminus
# Cannot test the behavior of defaults in defaults.rb
Failure/Error: expect(Puppet::Node::Facts.indirection.terminus_class).to eq(:yaml)
expected: :yaml
got: "facter"
(compared using ==)
Diff:
@@ -1,2 +1,2 @@
-:yaml
+"facter"
# ./spec/unit/node/facts_spec.rb:102:in `block (4 levels) in <top (required)>'
47) Puppet::Node::Facts when indirecting when indirecting when the Puppet application is not 'master' should default to the 'facter' terminus
# Cannot test the behavior of defaults in defaults.rb
Failure/Error: expect(Puppet::Node::Facts.indirection.terminus_class).to eq(:facter)
expected: :facter
got: "facter"
(compared using ==)
Diff:
@@ -1,2 +1,2 @@
-:facter
+"facter"
# ./spec/unit/node/facts_spec.rb:109:in `block (4 levels) in <top (required)>'
48) Puppet::Node::Facts when indirecting when storing and retrieving using pson should generate valid facts data against the facts schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(facts.to_pson).to validate_against('api/schemas/facts.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/node/facts_spec.rb:195:in `block (4 levels) in <top (required)>'
49) Puppet::Resource::Catalog when converting a resource catalog to pson should validate an empty catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(empty_catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:798:in `block (2 levels) in <top (required)>'
50) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a noop catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(noop_catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:803:in `block (2 levels) in <top (required)>'
51) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a single resource catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:808:in `block (2 levels) in <top (required)>'
52) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a virtual resource catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:813:in `block (2 levels) in <top (required)>'
53) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a single exported resource catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:818:in `block (2 levels) in <top (required)>'
54) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a two resource catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:823:in `block (2 levels) in <top (required)>'
55) Puppet::Resource::Catalog when converting a resource catalog to pson should validate a two parameter class catalog against the schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/catalog_spec.rb:839:in `block (2 levels) in <top (required)>'
56) Puppet::Resource::Type when converting to json should validate with only name and kind
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(@type.to_pson).to validate_against('api/schemas/resource_type.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/type_spec.rb:55:in `block (3 levels) in <top (required)>'
57) Puppet::Resource::Type when converting to json should validate with all fields set
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(@type.to_pson).to validate_against('api/schemas/resource_type.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/resource/type_spec.rb:65:in `block (3 levels) in <top (required)>'
58) Puppet::Status serializes to PSON that conforms to the status schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(status.render('pson')).to validate_against('api/schemas/status.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/status_spec.rb:43:in `block (2 levels) in <top (required)>'
59) Puppet::Transaction::Report generates pson which validates against the report schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(report.render).to validate_against('api/schemas/report.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/transaction/report_spec.rb:417:in `block (2 levels) in <top (required)>'
60) Puppet::Transaction::Report generates pson for error report which validates against the report schema
# Schema checks cannot be done on windows because of json-schema problems
Failure/Error: expect(error_report.render).to validate_against('api/schemas/report.json')
ArgumentError:
The expect syntax does not support operator matchers, so you must pass a matcher to `#to`.
# ./spec/unit/transaction/report_spec.rb:422:in `block (2 levels) in <top (required)>'
61) Puppet::Type::File::ParameterSource when accessing source properties for local sources on Windows systems should be UNC with two slashes
# Not yet implemented
# ./spec/unit/type/file/source_spec.rb:470
62) Puppet::Type::File when managing links should manage the mode of the followed link
# Windows cannot presently manage the mode when following symlinks
# ./spec/unit/type/file_spec.rb:1378
Failures:
1) Puppet::Type::Service::ProviderWindows (integration) should return valid values when querying a service that does exist with a valid boolean when asked if enabled
Failure/Error: expect([:true, :false]).to include(service.provider.enabled?)
expected [:true, :false] to include :manual
Diff:
@@ -1,2 +1,2 @@
-[:manual]
+[:true, :false]
# ./spec/integration/provider/service/windows_spec.rb:33:in `block (3 levels) in <top (required)>'
2) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 100
Failure/Error: expect { check_execute(path) }.to raise_error(Errno::ENOEXEC)
expected Errno::ENOEXEC, got #<Errno::ENOENT: No such file or directory - C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/win_sec_test_file20160407-1852-10y4mm2/childfile> with backtrace:
# ./spec/integration/util/windows/security_spec.rb:698:in `exec'
# ./spec/integration/util/windows/security_spec.rb:698:in `check_execute'
# ./spec/integration/util/windows/security_spec.rb:683:in `block in check_access'
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
3) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 300
Failure/Error: expect { check_execute(path) }.to raise_error(Errno::ENOEXEC)
expected Errno::ENOEXEC, got #<Errno::ENOENT: No such file or directory - C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/win_sec_test_file20160407-1852-dfmbkr/childfile> with backtrace:
# ./spec/integration/util/windows/security_spec.rb:698:in `exec'
# ./spec/integration/util/windows/security_spec.rb:698:in `check_execute'
# ./spec/integration/util/windows/security_spec.rb:683:in `block in check_access'
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
4) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 500
Failure/Error: expect { check_execute(path) }.to raise_error(Errno::ENOEXEC)
expected Errno::ENOEXEC, got #<Errno::ENOENT: No such file or directory - C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/win_sec_test_file20160407-1852-so7j4k/childfile> with backtrace:
# ./spec/integration/util/windows/security_spec.rb:698:in `exec'
# ./spec/integration/util/windows/security_spec.rb:698:in `check_execute'
# ./spec/integration/util/windows/security_spec.rb:683:in `block in check_access'
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
5) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 700
Failure/Error: expect { check_execute(path) }.to raise_error(Errno::ENOEXEC)
expected Errno::ENOEXEC, got #<Errno::ENOENT: No such file or directory - C:/Users/ADMINI~1/AppData/Local/Temp/rspecrun20160407-1852-1jkv76w/win_sec_test_file20160407-1852-18nkc4n/childfile> with backtrace:
# ./spec/integration/util/windows/security_spec.rb:698:in `exec'
# ./spec/integration/util/windows/security_spec.rb:698:in `check_execute'
# ./spec/integration/util/windows/security_spec.rb:683:in `block in check_access'
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./spec/integration/util/windows/security_spec.rb:683:in `check_access'
# ./spec/integration/util/windows/security_spec.rb:196:in `block (7 levels) in <top (required)>'
6) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the user sid
Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:24:in `create'
# ./lib/puppet/util/windows/adsi.rb:300:in `create'
# ./spec/integration/util/windows/security_spec.rb:478:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
7) Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the group sid
Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:668
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:24:in `create'
# ./lib/puppet/util/windows/adsi.rb:483:in `create'
# ./spec/integration/util/windows/security_spec.rb:494:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
8) Puppet::Util::Windows::Security file locked files should get the owner
Failure/Error: raise Puppet::Util::Windows::Error.new("Failed to open '#{path}'")
Puppet::Util::Windows::Error:
Failed to open 'C:\Windows/explorer.exe': The system cannot find the file specified.
# ./lib/puppet/util/windows/security.rb:472:in `open_file'
# ./lib/puppet/util/windows/security.rb:534:in `block in get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:488:in `with_privilege'
# ./lib/puppet/util/windows/security.rb:533:in `get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:133:in `get_owner'
# ./spec/integration/util/windows/security_spec.rb:710:in `block (4 levels) in <top (required)>'
9) Puppet::Util::Windows::Security file locked files should get the group
Failure/Error: raise Puppet::Util::Windows::Error.new("Failed to open '#{path}'")
Puppet::Util::Windows::Error:
Failed to open 'C:\Windows/explorer.exe': The system cannot find the file specified.
# ./lib/puppet/util/windows/security.rb:472:in `open_file'
# ./lib/puppet/util/windows/security.rb:534:in `block in get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:488:in `with_privilege'
# ./lib/puppet/util/windows/security.rb:533:in `get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:158:in `get_group'
# ./spec/integration/util/windows/security_spec.rb:714:in `block (4 levels) in <top (required)>'
10) Puppet::Util::Windows::Security file locked files should get the mode
Failure/Error: raise Puppet::Util::Windows::Error.new("Failed to open '#{path}'")
Puppet::Util::Windows::Error:
Failed to open 'C:\Windows/explorer.exe': The system cannot find the file specified.
# ./lib/puppet/util/windows/security.rb:472:in `open_file'
# ./lib/puppet/util/windows/security.rb:534:in `block in get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:488:in `with_privilege'
# ./lib/puppet/util/windows/security.rb:533:in `get_security_descriptor'
# ./lib/puppet/util/windows/security.rb:206:in `get_mode'
# ./spec/integration/util/windows/security_spec.rb:718:in `block (4 levels) in <top (required)>'
11) Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the user sid
Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:739
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:24:in `create'
# ./lib/puppet/util/windows/adsi.rb:300:in `create'
# ./spec/integration/util/windows/security_spec.rb:478:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
12) Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the group sid
Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
Shared Example Group: "a securable object" called from ./spec/integration/util/windows/security_spec.rb:739
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:24:in `create'
# ./lib/puppet/util/windows/adsi.rb:483:in `create'
# ./spec/integration/util/windows/security_spec.rb:494:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
13) dependency loader FileBased module loader when parsing files from disk when loading files from disk should always read files as UTF-8
Failure/Error: raise 'This test must be run in a codepage other than 65001 to validate behavior'
RuntimeError:
This test must be run in a codepage other than 65001 to validate behavior
# ./spec/unit/pops/loaders/dependency_loader_spec.rb:76:in `block (5 levels) in <top (required)>'
14) dependency loader FileBased module loader when parsing files from disk when loading files from disk currently ignores the UTF-8 BOM (Byte Order Mark) when loading module files
Failure/Error: raise 'This test must be run in a codepage other than 65001 to validate behavior'
RuntimeError:
This test must be run in a codepage other than 65001 to validate behavior
# ./spec/unit/pops/loaders/dependency_loader_spec.rb:94:in `block (5 levels) in <top (required)>'
15) Puppet::Pops::Parser::Lexer2 when lexing files from disk should always read files as UTF-8
Failure/Error: raise 'This test must be run in a codepage other than 65001 to validate behavior'
RuntimeError:
This test must be run in a codepage other than 65001 to validate behavior
# ./spec/unit/pops/parser/lexer2_spec.rb:783:in `block (3 levels) in <top (required)>'
16) Puppet::Provider::Package::Windows::MsiPackage::installer should return an instance of the COM interface
Failure/Error: WIN32OLE.new("WindowsInstaller.Installer")
WIN32OLERuntimeError:
unknown OLE server: `WindowsInstaller.Installer'
HRESULT error code:0x800401f3
Invalid class string
# ./lib/puppet/provider/package/windows/msi_package.rb:14:in `initialize'
# ./lib/puppet/provider/package/windows/msi_package.rb:14:in `new'
# ./lib/puppet/provider/package/windows/msi_package.rb:14:in `installer'
# ./spec/unit/provider/package/windows/msi_package_spec.rb:23:in `block (3 levels) in <top (required)>'
17) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the working directory from the working_directory on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
18) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the command from the application_name on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
19) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the command arguments from the parameters on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
20) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the user from the account_information on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
21) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should handle multiple triggers
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
22) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should handle multiple triggers with repeat triggers
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
23) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should skip triggers Win32::TaskScheduler cannot handle
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
24) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should skip trigger types Puppet does not handle
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
25) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single daily trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
26) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single daily with repeat trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
27) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single weekly trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
28) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single monthly date-based trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
29) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single monthly day-of-week-based trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
30) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single one-time trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
31) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should report tasks with the disabled bit set as disabled
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
32) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should report tasks without the disabled bit set as enabled
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
33) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should not consider triggers for determining if the task is enabled
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:120:in `block (3 levels) in <top (required)>'
34) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#exists? should delegate to Win32::TaskScheduler using the resource's name
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:591:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:591:in `block (3 levels) in <top (required)>'
35) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#exists? uses SystemRoot in the path of Task folder
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:591:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:591:in `block (3 levels) in <top (required)>'
36) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#clear_task should clear the cached task object
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:619:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:619:in `block (3 levels) in <top (required)>'
37) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#clear_task should clear the cached list of triggers for the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:619:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:619:in `block (3 levels) in <top (required)>'
38) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler.instances should use the list of .job files to construct the list of scheduled_tasks
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./lib/puppet/provider/scheduled_task/win32_taskscheduler.rb:16:in `new'
# ./lib/puppet/provider/scheduled_task/win32_taskscheduler.rb:16:in `instances'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:695:in `block (3 levels) in <top (required)>'
39) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :present should save the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `block (3 levels) in <top (required)>'
40) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :present should fail if the command is not specified
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `block (3 levels) in <top (required)>'
41) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :absent should not save the task if :ensure is :absent
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `block (3 levels) in <top (required)>'
42) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :absent should not fail if the command is not specified
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1572:in `block (3 levels) in <top (required)>'
43) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #command= should set the application_name on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
44) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #arguments= should set the parameters on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
45) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #working_dir= should set the working_directory on the task
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
46) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #enabled= should set the disabled flag if the task should be disabled
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
47) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #enabled= should clear the disabled flag if the task should be enabled
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
48) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should not consider all duplicate current triggers in sync with a single desired trigger
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
49) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should remove triggers not defined in the resource
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
50) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should add triggers defined in the resource, but not found on the system
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
51) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #user= should use nil for user and password when setting the user to the SYSTEM account
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
52) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #user= should use the specified user and password when setting the user to anything other than SYSTEM
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1639:in `block (3 levels) in <top (required)>'
53) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the command
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
54) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the arguments
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
55) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the working_dir
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
56) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the user
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
57) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the enabled property
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
58) Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should sync triggers
Failure/Error: failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."
RuntimeError:
CoInitialize failed (hresult 0x..f80004001).
# ./lib/puppet/util/windows/com.rb:17:in `raise_if_hresult_failed'
# ./lib/puppet/util/windows/com.rb:218:in `InitializeCom'
# ./lib/puppet/util/windows/taskscheduler.rb:175:in `initialize'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `new'
# ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1806:in `block (3 levels) in <top (required)>'
59) Puppet::Util::Windows::SID #name_to_sid with non-US languages should properly resolve a username with an umlaut
Got 0 failures and 2 other errors:
59.1) Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:24:in `create'
# ./spec/unit/util/windows/sid_spec.rb:101:in `block (4 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
59.2) Failure/Error: raise Puppet::Error.new( "ADSI connection error: #{e}", e )
Puppet::Error:
ADSI connection error: failed to parse display name of moniker `WinNT://.'
HRESULT error code:0x80004001
Not implemented
# ./lib/puppet/util/windows/adsi.rb:19:in `rescue in connect'
# ./lib/puppet/util/windows/adsi.rb:16:in `connect'
# ./lib/puppet/util/windows/adsi.rb:28:in `delete'
# ./lib/puppet/util/windows/adsi.rb:348:in `delete'
# ./spec/unit/util/windows/sid_spec.rb:95:in `block (4 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# WIN32OLERuntimeError:
# failed to parse display name of moniker `WinNT://.'
# HRESULT error code:0x80004001
# Not implemented
# ./lib/puppet/util/windows/adsi.rb:17:in `connect'
Finished in 7 minutes 3 seconds (files took 10.89 seconds to load)
20708 examples, 59 failures, 62 pending
Failed examples:
rspec ./spec/integration/provider/service/windows_spec.rb:32 # Puppet::Type::Service::ProviderWindows (integration) should return valid values when querying a service that does exist with a valid boolean when asked if enabled
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:1:7:2]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 100
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:1:7:4]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 300
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:1:7:6]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 500
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:1:7:8]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for a normal user #mode= should enforce mode 700
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:2:4:1]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the user sid
rspec './spec/integration/util/windows/security_spec.rb[1:1:1:2:2:4:2]' # Puppet::Util::Windows::Security file behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the group sid
rspec ./spec/integration/util/windows/security_spec.rb:709 # Puppet::Util::Windows::Security file locked files should get the owner
rspec ./spec/integration/util/windows/security_spec.rb:713 # Puppet::Util::Windows::Security file locked files should get the group
rspec ./spec/integration/util/windows/security_spec.rb:717 # Puppet::Util::Windows::Security file locked files should get the mode
rspec './spec/integration/util/windows/security_spec.rb[1:2:1:2:2:4:1]' # Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the user sid
rspec './spec/integration/util/windows/security_spec.rb[1:2:1:2:2:4:2]' # Puppet::Util::Windows::Security directory behaves like a securable object on a volume that supports ACLs for an administrator when the sid refers to a deleted trustee should retrieve the group sid
rspec ./spec/unit/pops/loaders/dependency_loader_spec.rb:74 # dependency loader FileBased module loader when parsing files from disk when loading files from disk should always read files as UTF-8
rspec ./spec/unit/pops/loaders/dependency_loader_spec.rb:90 # dependency loader FileBased module loader when parsing files from disk when loading files from disk currently ignores the UTF-8 BOM (Byte Order Mark) when loading module files
rspec ./spec/unit/pops/parser/lexer2_spec.rb:781 # Puppet::Pops::Parser::Lexer2 when lexing files from disk should always read files as UTF-8
rspec ./spec/unit/provider/package/windows/msi_package_spec.rb:22 # Puppet::Provider::Package::Windows::MsiPackage::installer should return an instance of the COM interface
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:533 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the working directory from the working_directory on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:539 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the command from the application_name on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:545 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the command arguments from the parameters on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:551 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving should get the user from the account_information on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:312 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should handle multiple triggers
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:373 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should handle multiple triggers with repeat triggers
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:440 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should skip triggers Win32::TaskScheduler cannot handle
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:486 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task should skip trigger types Puppet does not handle
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:133 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single daily trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:157 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single daily with repeat trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:183 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single weekly trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:215 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single monthly date-based trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:250 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single monthly day-of-week-based trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:289 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving the triggers for a task with only one trigger should handle a single one-time trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:558 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should report tasks with the disabled bit set as disabled
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:564 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should report tasks without the disabled bit set as enabled
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:570 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler when retrieving whether the task is enabled should not consider triggers for determining if the task is enabled
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:598 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#exists? should delegate to Win32::TaskScheduler using the resource's name
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:604 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#exists? uses SystemRoot in the path of Task folder
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:627 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#clear_task should clear the cached task object
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:636 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#clear_task should clear the cached list of triggers for the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:686 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler.instances should use the list of .job files to construct the list of scheduled_tasks
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1585 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :present should save the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1591 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :present should fail if the command is not specified
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1610 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :absent should not save the task if :ensure is :absent
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1616 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#flush when :ensure is :absent should not fail if the command is not specified
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1646 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #command= should set the application_name on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1654 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #arguments= should set the parameters on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1662 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #working_dir= should set the working_directory on the task
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1670 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #enabled= should set the disabled flag if the task should be disabled
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1677 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #enabled= should clear the disabled flag if the task should be enabled
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1702 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should not consider all duplicate current triggers in sync with a single desired trigger
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1716 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should remove triggers not defined in the resource
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1730 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #trigger= should add triggers defined in the resource, but not found on the system
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1756 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #user= should use nil for user and password when setting the user to the SYSTEM account
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1770 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler property setter methods #user= should use the specified user and password when setting the user to anything other than SYSTEM
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1823 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the command
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1829 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the arguments
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1835 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the working_dir
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1841 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the user
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1847 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should set the enabled property
rspec ./spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb:1853 # Puppet::Type::Scheduled_task::ProviderWin32_taskscheduler#create should sync triggers
rspec ./spec/unit/util/windows/sid_spec.rb:98 # Puppet::Util::Windows::SID #name_to_sid with non-US languages should properly resolve a username with an umlaut

Changes necessary to get things going:

  • Start with a TP5 Nano server
  • Make sure it has an accessible NIC
    • $ip = '10.0.16.145' for instance
  • Start the WinRM service locally, add the Naon machine, and login:
Start-Service WinRM
Set-Item WSMan:\localhost\Client\TrustedHosts $ip
Enter-PSSession -ComputerName $ip -Credential $ip\Administrator
  • On Nano machine, open firewall, and create a share at the root
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes
New-SmbShare -Name PuppetNano -Path c:\ -FullAccess Administrator
  • Back on the host machine, map the Nano server share to a local drive like n:\ or similar
  • Copy the Ruby installation folder to the Nano server (i.e. the choco installed one at c:\tools\ruby21)
  • Clone the Puppet source directly into n:\puppet, the previously mapped drive
  • Make sure to install the gems (from the host machine) via bundle install --path .bundle/gems --without extra
  • Back on Nano Server (* see below patches required to source code):
Enter-PSSession -ComputerName $ip -Credential $ip\Administrator
cd \puppet
gem install bundler --no-ri --no-rdoc

# do some stuff
bundle exec facter
bundle exec puppet --version
bundle exec puppet apply -e 'notify { "hi nano": }'

Some notes taken from http://www.hurryupandwait.io/blog/instal

Things that don't work / exist

  • Not sure if all WMI classes are functional? WbemScripting.SWbemLocator is alive and well
  • Limited COM (no ole32.dll - not sure where COM support has moved?)
  • COM Monikers (like those used for wmimgmts, etc)
  • no ADSI
  • no CSIDL to resolve paths using names like COMMON_APPDATA, WINDOWS or PROFILE

Suggested replacements

  • Remove all calls to WIN32OLE.connect when using WMI - instead use
swbem = WIN32OLE.new('WbemScripting.SWbemLocator')
server = swbem.ConnectServer('.', 'root\\cimv2')
  • Can use FFI / MI APIs in place of COM / WMI if necessary (but doesn't look necessary atm)
  • Get rid of win32-dir gem completely

Patches need to run specs in the first place:

.bundle\gems\ruby\2.1.0\gems\facter-2.4.6-x64-mingw32\lib\facter\util\wmi.rb

module Facter::Util::WMI
  class Faker
    def ExecQuery(arg)
      []
    end
  end

  class << self
    def connect(uri = wmi_resource_uri)
      require 'win32ole'
      # TODO: search for WIN32OLE.connect - this is a total moniker landmine
      # need to figure out the actual classes to create directly instead
      # WIN32OLE.connect(uri) / WIN32OLE.new
      # locator = WIN32OLE.new("WbemScripting.SWbemLocator")
      # locator.ConnectServer()

      Faker.new
    end

    def wmi_resource_uri( host = '.' )
      # TODO: Nano doesn't support monikers at all... ruh-roh
      "winmgmts:{impersonationLevel=impersonate}!//#{host}/root/cimv2"
    end

    def execquery(query)
      # TODO: return an empty string for now...
      # on Nano, ole32.dll doesn't exist at all... probably need to use the unmanaged equivalents
      # of Get-CimInstance ... which can query the OS - which I believe is the MI APIs
      # connect().execquery(query)
      []
    end
  end
end

.bundle\gems\ruby\2.1.0\gems\facter-2.4.6-x64-mingw32\lib\facter\kernelrelease.rb

Facter.add(:kernelrelease) do
  confine :kernel => "windows"
  setcode do
    require 'facter/util/wmi'
    # TODO: special handling for Nano
    version = "10.0.14300"
    # Facter::Util::WMI.execquery("SELECT Version from Win32_OperatingSystem").each do |ole|
    #   version = "#{ole.Version}"
    #   break
    # end
    version
  end
end

.bundle\gems\ruby\2.1.0\gems\win32-dir-0.4.9\lib\win32\dir.rb

# Dynamically set each of the CSIDL constants
# TODO: CSIDL doesn't exist as a concept on Nano anymore
# csidl.each{ |key, value|
#   buf  = 0.chr * 1024
#   path = nil
#   buf.encode!('UTF-16LE')

#   if SHGetFolderPathW(0, value, 0, 0, buf) == 0 # Current path
#     path = buf.strip
#   elsif SHGetFolderPathW(0, value, 0, 1, buf) == 0 # Default path
#     path = buf.strip
#   else
#     ptr   = FFI::MemoryPointer.new(:long)
#     info  = SHFILEINFO.new
#     flags = SHGFI_DISPLAYNAME | SHGFI_PIDL

#     if SHGetFolderLocation(0, value, 0, 0, ptr) == 0
#       if SHGetFileInfo(ptr.read_long, 0, info, info.size, flags) != 0
#         path = info[:szDisplayName].to_s
#         path.force_encoding(Encoding.default_external)
#       end
#     end
#   end

#   begin
#     Dir.const_set(key, path.encode(Encoding.default_external)) if path
#   rescue Encoding::UndefinedConversionError
#     Dir.const_set(key, path.encode('UTF-8')) if path
#   end
# }
#
# Set Dir::MYDOCUMENTS to the same as Dir::PERSONAL if undefined
# unless defined? MYDOCUMENTS
#   MYDOCUMENTS = PERSONAL
# end
#
# hardcode two important values that Puppet needs
#
Dir.const_set('COMMON_APPDATA', 'C:\\ProgramData')
Dir.const_set('WINDOWS', 'C:\\Windows')
Dir.const_set('PROFILE', 'C:\\Users\\Administrator')

.bundle\ruby\2.1.0\gems\win32-dir-0.4.9\lib\win32\dir\functions.rb

  # TODO: Shell32 no bueno on Nano - can we install reverse forwarders?
  # ffi_lib :shell32
  # ffi_convention :stdcall

  # attach_pfunc :SHGetFolderPathW, [:hwnd, :int, :handle, :dword, :buffer_out], :dword
  # attach_pfunc :SHGetFolderLocation, [:hwnd, :int, :handle, :dword, :ptr], :dword
  # attach_pfunc :SHGetFileInfo, [:dword, :dword, :ptr, :uint, :uint], :dword
[10.0.16.145]: PS C:\puppet> bundle exec puppet --version
4.4.2
[10.0.16.145]: PS C:\puppet> ruby --version
ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment