summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalim Alam <salam@chef.io>2016-03-31 18:37:36 -0700
committerSalim Alam <salam@chef.io>2016-03-31 18:37:36 -0700
commit2b48b0c838ad9ad94da17bd82508445ffe1ea0cb (patch)
treec084053da5c110006e6fb75d7c5253d3bbf85db0
parentc6c7a3b2d592dcddfcda42ef6793cd55bdcbd59d (diff)
downloadchef-2b48b0c838ad9ad94da17bd82508445ffe1ea0cb.tar.gz
Revert "Spec break on Windows due to temp dir and short path names"
This reverts commit e25b75e9fcd26ccc9c9094a43b614306de1047db.
-rw-r--r--spec/support/chef_helpers.rb22
-rw-r--r--spec/unit/knife/data_bag_from_file_spec.rb2
-rw-r--r--spec/unit/provider/remote_directory_spec.rb2
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