diff options
author | Josh Cooper <josh@puppetlabs.com> | 2011-08-19 14:03:56 -0700 |
---|---|---|
committer | Josh Cooper <josh@puppetlabs.com> | 2011-08-19 14:03:56 -0700 |
commit | 384302af6dec8c51442f2f29a4c7c555379cd297 (patch) | |
tree | 27680b19648100058c752e5fa4136a88a73d7a4f /spec/lib/puppet_spec/files.rb | |
parent | 71e190bf255f98e900f7ddd55db393d448df3274 (diff) | |
parent | 2091cbeade9d69a18689609f407f9d7f0304dc04 (diff) | |
download | puppet-384302af6dec8c51442f2f29a4c7c555379cd297.tar.gz puppet-384302af6dec8c51442f2f29a4c7c555379cd297.tar.xz puppet-384302af6dec8c51442f2f29a4c7c555379cd297.zip |
Merge branch 'backport-windows-work-to-2.7' into 2.7.x
* backport-windows-work-to-2.7: (60 commits)
maint: Fix build break due to recent merge from 2.7.x to master
Fix posix exec provider spec failures on Windows
(#5495) Remove dead Windows-specific code from posix exec provider
Stop trying to make config directories in Windows specs
(#8272) Add missing tests for Windows service provider methods.
(#8409) Add a default group provider for Windows
(#8408) Add a default user provider for Windows
(#8408/8409) Add a Windows ADSI helper module
(#8663) Exclude exec timeout test on Windows
(#8663) Exclude git rev-parse HEAD spec test on Windows
Check for the appropriate permissions in File type tests on Windows
Remove :fails_on_windows from file type tests that no longer fail on Windows
Disable file bucket diffing tests on Windows
Always put a slash between the checksum and path in filebucket URLs
Treat Windows absolute paths as absolute paths
Consolidate test logic determining if a registered file is in the temp directory
Clarify logic and error messages when initializing Puppet::FileBucket::File
Disable symlink related file tests on Windows
(#8644) Host provider on Windows
(#8660) Fix destdir option on Windows
...
Diffstat (limited to 'spec/lib/puppet_spec/files.rb')
-rwxr-xr-x | spec/lib/puppet_spec/files.rb | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/spec/lib/puppet_spec/files.rb b/spec/lib/puppet_spec/files.rb index 30fb4fc42..725bf2af9 100755 --- a/spec/lib/puppet_spec/files.rb +++ b/spec/lib/puppet_spec/files.rb @@ -1,21 +1,19 @@ require 'fileutils' require 'tempfile' +require 'pathname' # A support module for testing files. module PuppetSpec::Files # This code exists only to support tests that run as root, pretty much. # Once they have finally been eliminated this can all go... --daniel 2011-04-08 - if Puppet.features.posix? then - def self.in_tmp(path) - path =~ /^\/tmp/ or path =~ /^\/var\/folders/ - end - elsif Puppet.features.microsoft_windows? - def self.in_tmp(path) - tempdir = File.expand_path(File.join(Dir::LOCAL_APPDATA, "Temp")) - path =~ /^#{tempdir}/ + def self.in_tmp(path) + tempdir = Dir.tmpdir + + Pathname.new(path).ascend do |dir| + return true if File.identical?(tempdir, dir) end - else - fail "Help! Can't find in_tmp for this platform" + + false end def self.cleanup @@ -31,6 +29,16 @@ module PuppetSpec::Files end end + def make_absolute(path) + return path unless Puppet.features.microsoft_windows? + # REMIND UNC + return path if path =~ /^[A-Za-z]:/ + + pwd = Dir.getwd + return "#{pwd[0,2]}#{path}" if pwd.length > 2 and pwd =~ /^[A-Za-z]:/ + return "C:#{path}" + end + def tmpfile(name) # Generate a temporary file, just for the name... source = Tempfile.new(name) |