diff options
author | Salim Alam <salam@chef.io> | 2016-03-31 18:37:36 -0700 |
---|---|---|
committer | Salim Alam <salam@chef.io> | 2016-03-31 18:37:36 -0700 |
commit | 2b48b0c838ad9ad94da17bd82508445ffe1ea0cb (patch) | |
tree | c084053da5c110006e6fb75d7c5253d3bbf85db0 /spec | |
parent | c6c7a3b2d592dcddfcda42ef6793cd55bdcbd59d (diff) | |
download | chef-2b48b0c838ad9ad94da17bd82508445ffe1ea0cb.tar.gz |
Revert "Spec break on Windows due to temp dir and short path names"
This reverts commit e25b75e9fcd26ccc9c9094a43b614306de1047db.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/support/chef_helpers.rb | 22 | ||||
-rw-r--r-- | spec/unit/knife/data_bag_from_file_spec.rb | 2 | ||||
-rw-r--r-- | spec/unit/provider/remote_directory_spec.rb | 2 |
3 files changed, 2 insertions, 24 deletions
diff --git a/spec/support/chef_helpers.rb b/spec/support/chef_helpers.rb index d0b5ad0bfd..f64c14da4d 100644 --- a/spec/support/chef_helpers.rb +++ b/spec/support/chef_helpers.rb @@ -84,28 +84,6 @@ def canonicalize_path(path) windows? ? path.tr("/", '\\') : path end -# Makes a temp directory with a canonical path on any platform. -# Only really needed to work around an issue on Windows where -# Ruby's temp library generates paths with short names. -def make_canonical_temp_directory - temp_directory = Dir.mktmpdir - if windows? - # On Windows, temporary file / directory path names may have shortened - # subdirectory names due to reliance on the TMP and TEMP environment variables - # in some Windows APIs and duplicated logic in Ruby's temp file implementation. - # To work around this in the unit test context, we obtain the long (canonical) - # path name via a Windows system call so that this path name can be used - # in expectations that assume the ability to canonically name paths in comparisons. - # Note that this was not an issue prior to Ruby 2.2 -- with Ruby 2.2, - # some Chef code started to use long file names, while Ruby's temp file implementation - # continued to return the shortened names -- this would cause these particular tests to - # fail if the username happened to be longer than 8 characters. - Chef::ReservedNames::Win32::File.get_long_path_name(temp_directory) - else - temp_directory - end -end - # Check if a cmd exists on the PATH def which(cmd) paths = ENV["PATH"].split(File::PATH_SEPARATOR) + [ "/bin", "/usr/bin", "/sbin", "/usr/sbin" ] diff --git a/spec/unit/knife/data_bag_from_file_spec.rb b/spec/unit/knife/data_bag_from_file_spec.rb index bf6bd82a68..0b6f389e87 100644 --- a/spec/unit/knife/data_bag_from_file_spec.rb +++ b/spec/unit/knife/data_bag_from_file_spec.rb @@ -52,7 +52,7 @@ describe Chef::Knife::DataBagFromFile do k end - let(:tmp_dir) { make_canonical_temp_directory } + let(:tmp_dir) { Dir.mktmpdir } let(:db_folder) { File.join(tmp_dir, data_bags_path, bag_name) } let(:db_file) { Tempfile.new(["data_bag_from_file_test", ".json"], db_folder) } let(:db_file2) { Tempfile.new(["data_bag_from_file_test2", ".json"], db_folder) } diff --git a/spec/unit/provider/remote_directory_spec.rb b/spec/unit/provider/remote_directory_spec.rb index fba134a521..710d6613fc 100644 --- a/spec/unit/provider/remote_directory_spec.rb +++ b/spec/unit/provider/remote_directory_spec.rb @@ -106,7 +106,7 @@ describe Chef::Provider::RemoteDirectory do @node.automatic_attrs[:platform] = :just_testing @node.automatic_attrs[:platform_version] = :just_testing - @destination_dir = make_canonical_temp_directory << "/remote_directory_test" + @destination_dir = Dir.mktmpdir << "/remote_directory_test" @resource.path(@destination_dir) end |