diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-10 10:39:09 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-10 10:39:09 +0000 |
commit | b496220a1f70f8393070ffebcb883c7c5fc036d7 (patch) | |
tree | e7df67accf737556f78bf7dcae236d10cc287dea /test/rubygems | |
parent | 0542d61e2717a3b8e1e4a2972bd32385a036cab8 (diff) | |
download | ruby-b496220a1f70f8393070ffebcb883c7c5fc036d7.tar.gz |
skip some tests so that no failure occurs in root privilege
Some tests had failed on `sudo make test-all`, mainly because root can
access any files regardless of permission. This change adds `skip`
guards into such tests.
Note that almost all tests in which `skip` guards is added, already have
"windows" guard. This is because there is no support to avoid read
access by owner on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems')
-rw-r--r-- | test/rubygems/test_gem.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_cleanup_command.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_commands_install_command.rb | 1 | ||||
-rw-r--r-- | test/rubygems/test_gem_install_update_options.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_installer.rb | 4 | ||||
-rw-r--r-- | test/rubygems/test_gem_rdoc.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_remote_fetcher.rb | 2 | ||||
-rw-r--r-- | test/rubygems/test_gem_specification.rb | 3 |
8 files changed, 14 insertions, 4 deletions
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 315aea020f..bd4c91d96d 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -463,7 +463,7 @@ class TestGem < Gem::TestCase assert File.directory?(util_cache_dir) end - unless win_platform? then # only for FS that support write protection + unless win_platform? || Process.uid == 0 then # only for FS that support write protection def test_self_ensure_gem_directories_write_protected gemdir = File.join @tempdir, "egd" FileUtils.rm_r gemdir rescue nil diff --git a/test/rubygems/test_gem_commands_cleanup_command.rb b/test/rubygems/test_gem_commands_cleanup_command.rb index c55e195975..a222659ead 100644 --- a/test/rubygems/test_gem_commands_cleanup_command.rb +++ b/test/rubygems/test_gem_commands_cleanup_command.rb @@ -158,7 +158,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase assert_path_exists @a_1_1.gem_dir ensure FileUtils.chmod 0755, @gemhome - end unless win_platform? + end unless win_platform? || Process.uid == 0 def test_execute_dry_run @cmd.options[:args] = %w[a] diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb index dd86a85038..fefc5c7059 100644 --- a/test/rubygems/test_gem_commands_install_command.rb +++ b/test/rubygems/test_gem_commands_install_command.rb @@ -131,6 +131,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase def test_execute_no_user_install skip 'skipped on MS Windows (chmod has no effect)' if win_platform? + skip 'skipped in root privilege' if Process.uid == 0 specs = spec_fetcher do |fetcher| fetcher.gem 'a', 2 diff --git a/test/rubygems/test_gem_install_update_options.rb b/test/rubygems/test_gem_install_update_options.rb index e2d546307d..69a2b61041 100644 --- a/test/rubygems/test_gem_install_update_options.rb +++ b/test/rubygems/test_gem_install_update_options.rb @@ -141,6 +141,8 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase def test_user_install_disabled_read_only if win_platform? skip('test_user_install_disabled_read_only test skipped on MS Windows') + elsif Process.uid == 0 + skip('test_user_install_disabled_read_only test skipped in root privilege') else @cmd.handle_options %w[--no-user-install] diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index 39095c7dee..63acc3d130 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -437,6 +437,8 @@ gem 'other', version if win_platform? skip('test_generate_bin_script_no_perms skipped on MS Windows') + elsif Process.uid == 0 + skip('test_generate_bin_script_no_perms skipped in root privilege') else FileUtils.chmod 0000, util_inst_bindir @@ -529,6 +531,8 @@ gem 'other', version if win_platform? skip('test_generate_bin_symlink_no_perms skipped on MS Windows') + elsif Process.uid == 0 + skip('test_user_install_disabled_read_only test skipped in root privilege') else FileUtils.chmod 0000, util_inst_bindir diff --git a/test/rubygems/test_gem_rdoc.rb b/test/rubygems/test_gem_rdoc.rb index 76ca8c45a9..3961a8e3f9 100644 --- a/test/rubygems/test_gem_rdoc.rb +++ b/test/rubygems/test_gem_rdoc.rb @@ -223,6 +223,7 @@ class TestGemRDoc < Gem::TestCase def test_remove_unwritable skip 'chmod not supported' if Gem.win_platform? + skip 'skipped in root privilege' if Process.uid == 0 FileUtils.mkdir_p @a.base_dir FileUtils.chmod 0, @a.base_dir @@ -251,6 +252,7 @@ class TestGemRDoc < Gem::TestCase def test_setup_unwritable skip 'chmod not supported' if Gem.win_platform? + skip 'skipped in root privilege' if Process.uid == 0 FileUtils.mkdir_p @a.doc_dir FileUtils.chmod 0, @a.doc_dir diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index ee5ac77717..fc51b06f1b 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -431,7 +431,7 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg== assert File.exist?(a1_cache_gem) end - unless win_platform? # File.chmod doesn't work + unless win_platform? || Process.uid == 0 # File.chmod doesn't work def test_download_local_read_only FileUtils.mv @a1_gem, @tempdir local_path = File.join @tempdir, @a1.file_name diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index ab3a7399af..7bfeb48d3c 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1464,6 +1464,7 @@ dependencies: [] def test_build_extensions_extensions_dir_unwritable skip 'chmod not supported' if Gem.win_platform? + skip 'skipped in root privilege' if Process.uid == 0 ext_spec @@ -1489,7 +1490,7 @@ dependencies: [] @ext.build_extensions refute_path_exists @ext.extension_dir ensure - unless ($DEBUG or win_platform?) then + unless ($DEBUG or win_platform? or Process.uid == 0) then FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions') FileUtils.chmod 0755, @ext.base_dir end |