From 205f0dcf3aafffc1f7a26628845bf6e1b71441da Mon Sep 17 00:00:00 2001 From: mame Date: Wed, 10 Jan 2018 13:30:25 +0000 Subject: spec/: skip some specs so that no failure occurs in root privilege Follow up of r61757, This change makes `sudo make test-spec` pass on my machine. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/core/dir/mkdir_spec.rb | 24 +++++++++++++----------- spec/ruby/core/dir/shared/delete.rb | 16 +++++++++------- 2 files changed, 22 insertions(+), 18 deletions(-) (limited to 'spec/ruby/core/dir') diff --git a/spec/ruby/core/dir/mkdir_spec.rb b/spec/ruby/core/dir/mkdir_spec.rb index 7eb8a8fe6c..e724840160 100644 --- a/spec/ruby/core/dir/mkdir_spec.rb +++ b/spec/ruby/core/dir/mkdir_spec.rb @@ -66,20 +66,22 @@ end # The permissions flag are not supported on Windows as stated in documentation: # The permissions may be modified by the value of File.umask, and are ignored on NT. platform_is_not :windows do - describe "Dir.mkdir" do - before :each do - @dir = tmp "noperms" - end + as_user do + describe "Dir.mkdir" do + before :each do + @dir = tmp "noperms" + end - after :each do - File.chmod 0777, @dir - rm_r @dir - end + after :each do + File.chmod 0777, @dir + rm_r @dir + end - it "raises a SystemCallError when lacking adequate permissions in the parent dir" do - Dir.mkdir @dir, 0000 + it "raises a SystemCallError when lacking adequate permissions in the parent dir" do + Dir.mkdir @dir, 0000 - lambda { Dir.mkdir "#{@dir}/subdir" }.should raise_error(SystemCallError) + lambda { Dir.mkdir "#{@dir}/subdir" }.should raise_error(SystemCallError) + end end end end diff --git a/spec/ruby/core/dir/shared/delete.rb b/spec/ruby/core/dir/shared/delete.rb index 8db17d985f..649708cd76 100644 --- a/spec/ruby/core/dir/shared/delete.rb +++ b/spec/ruby/core/dir/shared/delete.rb @@ -49,13 +49,15 @@ describe :dir_delete, shared: true do # this won't work on Windows, since chmod(0000) does not remove all permissions platform_is_not :windows do - it "raises an Errno::EACCES if lacking adequate permissions to remove the directory" do - parent = DirSpecs.mock_rmdir("noperm") - child = DirSpecs.mock_rmdir("noperm", "child") - File.chmod(0000, parent) - lambda do - Dir.send @method, child - end.should raise_error(Errno::EACCES) + as_user do + it "raises an Errno::EACCES if lacking adequate permissions to remove the directory" do + parent = DirSpecs.mock_rmdir("noperm") + child = DirSpecs.mock_rmdir("noperm", "child") + File.chmod(0000, parent) + lambda do + Dir.send @method, child + end.should raise_error(Errno::EACCES) + end end end end -- cgit v1.2.3