rubygems-update 0.8.10 → 0.8.11

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (51) hide show
  1. data/ChangeLog +66 -0
  2. data/README +17 -3
  3. data/Rakefile +29 -11
  4. data/bin/gem_mirror +67 -0
  5. data/examples/application/an-app.gemspec +2 -0
  6. data/lib/rubygems.rb +18 -3
  7. data/lib/rubygems/builder.rb +14 -1
  8. data/lib/rubygems/cmd_manager.rb +2 -0
  9. data/lib/rubygems/command.rb +26 -2
  10. data/lib/rubygems/custom_require.rb +30 -21
  11. data/lib/rubygems/format.rb +4 -4
  12. data/lib/rubygems/gem_commands.rb +161 -9
  13. data/lib/rubygems/gem_openssl.rb +34 -0
  14. data/lib/rubygems/gem_runner.rb +5 -1
  15. data/lib/rubygems/installer.rb +117 -38
  16. data/lib/rubygems/package.rb +135 -25
  17. data/lib/rubygems/remote_installer.rb +59 -29
  18. data/lib/rubygems/rubygems_version.rb +1 -1
  19. data/lib/rubygems/security.rb +478 -0
  20. data/lib/rubygems/specification.rb +48 -28
  21. data/post-install.rb +2 -1
  22. data/scripts/gemdoc.rb +2 -2
  23. data/scripts/specdoc.rb +25 -24
  24. data/scripts/upload_gemdoc.rb +134 -0
  25. data/setup.rb +1 -1
  26. data/test/data/a-0.0.1.gem +0 -0
  27. data/test/data/a-0.0.2.gem +0 -0
  28. data/test/data/b-0.0.2.gem +0 -0
  29. data/test/data/c-1.2.gem +0 -0
  30. data/test/data/gemhome/cache/a-0.0.1.gem +0 -0
  31. data/test/data/gemhome/cache/a-0.0.2.gem +0 -0
  32. data/test/data/gemhome/cache/b-0.0.2.gem +0 -0
  33. data/test/data/gemhome/cache/c-1.2.gem +0 -0
  34. data/test/data/gemhome/specifications/a-0.0.1.gemspec +1 -1
  35. data/test/data/gemhome/specifications/a-0.0.2.gemspec +1 -1
  36. data/test/data/gemhome/specifications/b-0.0.2.gemspec +1 -1
  37. data/test/data/gemhome/specifications/c-1.2.gemspec +1 -1
  38. data/test/data/one/one-0.0.1.gem +0 -0
  39. data/test/fake_certlib/openssl.rb +1 -0
  40. data/test/functional.rb +49 -14
  41. data/test/gemutilities.rb +69 -5
  42. data/test/test_cached_fetcher.rb +5 -7
  43. data/test/test_file_list.rb +96 -0
  44. data/test/test_gempaths.rb +36 -34
  45. data/test/test_installer.rb +214 -0
  46. data/test/test_local_cache.rb +45 -102
  47. data/test/test_parse_commands.rb +3 -1
  48. data/test/test_remote_installer.rb +24 -5
  49. data/test/test_specific_extras.rb +40 -0
  50. data/test/test_specification.rb +106 -16
  51. metadata +14 -3
Binary file
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{a}
3
3
  s.version = "0.0.1"
4
- s.date = %q{2005-03-25}
4
+ s.date = %q{2005-07-13}
5
5
  s.summary = %q{summary}
6
6
  s.description = %q{desc}
7
7
  s.files = ["lib/code.rb"]
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{a}
3
3
  s.version = "0.0.2"
4
- s.date = %q{2005-03-25}
4
+ s.date = %q{2005-07-13}
5
5
  s.summary = %q{summary}
6
6
  s.description = %q{desc}
7
7
  s.files = ["lib/code.rb"]
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{b}
3
3
  s.version = "0.0.2"
4
- s.date = %q{2005-03-25}
4
+ s.date = %q{2005-07-13}
5
5
  s.summary = %q{summary}
6
6
  s.description = %q{desc}
7
7
  s.files = ["lib/code.rb"]
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{c}
3
3
  s.version = "1.2"
4
- s.date = %q{2005-03-25}
4
+ s.date = %q{2005-07-13}
5
5
  s.summary = %q{summary}
6
6
  s.description = %q{desc}
7
7
  s.files = ["lib/code.rb"]
Binary file
@@ -0,0 +1 @@
1
+ fail LoadError, "no such file to load -- openssl"
@@ -13,28 +13,29 @@ class FunctionalTest < Test::Unit::TestCase
13
13
  @gem_path = File.expand_path("bin/gem")
14
14
  lib_path = File.expand_path("lib")
15
15
  @ruby_options = "-I#{lib_path} -I."
16
+ @verbose = false
16
17
  end
17
18
 
18
19
  def test_gem_help_options
19
- gem 'help options'
20
+ gem_nossl 'help options'
20
21
  assert_match(/Usage:/, @out)
21
22
  assert_status
22
23
  end
23
24
 
24
25
  def test_gem_help_commands
25
- gem 'help commands'
26
+ gem_nossl 'help commands'
26
27
  assert_match(/gem install/, @out)
27
28
  assert_status
28
29
  end
29
30
 
30
31
  def test_gem_no_args_shows_help
31
- gem
32
+ gem_nossl
32
33
  assert_match(/Usage:/, @out)
33
34
  assert_status 1
34
35
  end
35
36
 
36
37
  def test_environment
37
- gem 'environment'
38
+ gem_nossl 'environment'
38
39
 
39
40
  assert_match /VERSION:\s+(\d+\.)*\d+/, @out
40
41
  assert_match /INSTALLATION DIRECTORY:/, @out
@@ -44,22 +45,22 @@ class FunctionalTest < Test::Unit::TestCase
44
45
  end
45
46
 
46
47
  def test_env_version
47
- gem 'environment version'
48
+ gem_nossl 'environment version'
48
49
  assert_match /\d+\.\d+$/, @out
49
50
  end
50
51
 
51
52
  def test_env_gemdir
52
- gem 'environment gemdir'
53
+ gem_nossl 'environment gemdir'
53
54
  assert_equal Gem.dir, @out.chomp
54
55
  end
55
56
 
56
57
  def test_env_gempath
57
- gem 'environment gempath'
58
+ gem_nossl 'environment gempath'
58
59
  assert_equal Gem.path, @out.chomp.split("\n")
59
60
  end
60
61
 
61
62
  def test_env_remotesources
62
- gem 'environment remotesources'
63
+ gem_nossl 'environment remotesources'
63
64
  assert_equal Gem::RemoteInstaller.new.sources, @out.chomp.split("\n")
64
65
  end
65
66
 
@@ -89,7 +90,7 @@ class FunctionalTest < Test::Unit::TestCase
89
90
 
90
91
  def test_bogus_source_hoses_up_remote_install_but_gem_command_gives_decent_error_message
91
92
  @ruby_options << " -rtest/bogussources"
92
- gem "install asdf --remote"
93
+ gem_nossl "install asdf --remote"
93
94
  assert_match(/error/im, @err)
94
95
  assert_status 1
95
96
  end
@@ -97,32 +98,66 @@ class FunctionalTest < Test::Unit::TestCase
97
98
  def test_all_command_helps
98
99
  mgr = Gem::CommandManager.new
99
100
  mgr.command_names.each do |cmdname|
100
- gem "help #{cmdname}"
101
+ gem_nossl "help #{cmdname}"
101
102
  assert_match /Usage: gem #{cmdname}/, @out, "should see help for #{cmdname}"
102
103
  end
103
104
  end
104
105
 
105
106
  def test_gemrc_paths
106
- gem "env --config-file test/testgem.rc"
107
+ gem_nossl "env --config-file test/testgem.rc"
107
108
  assert_match %{/usr/local/rubygems}, @out
108
109
  assert_match %{/another/spot/for/rubygems}, @out
109
110
  assert_match %{test/data/gemhome}, @out
110
111
  end
111
112
 
112
113
  def test_gemrc_args
113
- gem "help --config-file test/testgem.rc"
114
+ gem_nossl "help --config-file test/testgem.rc"
114
115
  assert_match %{gem build}, @out
115
116
  assert_match %{gem install}, @out
116
117
  end
117
118
 
119
+ SIGN_FILES = %w(gem-private_key.pem gem-public_cert.pem)
120
+
121
+ def test_cert_build
122
+ SIGN_FILES.each do |fn| FileUtils.rm_f fn end
123
+ gem_withssl "cert --build x@y.z"
124
+ SIGN_FILES.each do |fn|
125
+ assert File.exist?(fn),
126
+ "Signing key/cert file '#{fn}' should exist"
127
+ end
128
+ ensure
129
+ SIGN_FILES.each do |fn| FileUtils.rm_f fn end
130
+ end
131
+
132
+ def test_nossl_cert
133
+ gem_nossl "cert --build x@y.z"
134
+ assert @status != 0
135
+ assert_match /not installed/, @err,
136
+ "Should have a not installed error for openssl"
137
+ end
138
+
118
139
  # :section: Help Methods
119
140
 
141
+ # Run a gem command without the SSL library.
142
+ def gem_nossl(options="")
143
+ old_options = @ruby_options
144
+ @ruby_options << " -Itest/fake_certlib"
145
+ gem(options)
146
+ ensure
147
+ @ruby_options = old_options
148
+ end
149
+
150
+ # Run a gem command with the SSL library.
151
+ def gem_withssl(options="")
152
+ gem(options)
153
+ end
154
+
120
155
  # Run a gem command for the functional test.
121
156
  def gem(options="")
122
157
  shell = Session::Shell.new
123
158
  options = options + " --config-file missing_file" if options !~ /--config-file/
124
- command = "ruby #{@ruby_options} #{@gem_path} #{options}"
125
- puts "COMMAND: [#{command}]" if @verbose
159
+ command = "#{Gem.ruby} #{@ruby_options} #{@gem_path} #{options}"
160
+ puts "\n\nCOMMAND: [#{command}]" if @verbose
126
161
  @out, @err = shell.execute command
127
162
  @status = shell.exit_status
128
163
  puts "STATUS: [#{@status}]" if @verbose
@@ -1,18 +1,82 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'fileutils'
4
+ require 'test/unit/testcase'
5
+ require 'tmpdir'
4
6
  require 'test/yaml_data'
5
7
 
6
8
  module Utilities
7
- def make_gemhome(path)
8
- FileUtils.mkdir_p path
9
- end
10
-
11
9
  def make_cache_area(path, *uris)
12
- make_gemhome(path)
13
10
  fn = File.join(path, 'source_cache')
14
11
  open(fn, 'w') do |f| f.write Marshal.dump(cache_hash(*uris)) end
15
12
  end
16
13
 
17
14
  extend self
18
15
  end
16
+
17
+ class RubyGemTestCase < Test::Unit::TestCase
18
+ def setup
19
+ @tempdir = File.join Dir.tmpdir, "test_rubygems_#{$$}"
20
+ @gemhome = File.join @tempdir, "gemhome"
21
+ @gemcache = File.join(@gemhome, "source_cache")
22
+ @usrcache = File.join(@gemhome, ".gem", "user_cache")
23
+
24
+ FileUtils.mkdir_p @gemhome
25
+
26
+ ENV['GEMCACHE'] = @usrcache
27
+ Gem.use_paths(@gemhome)
28
+ end
29
+
30
+ def teardown
31
+ FileUtils.rm_r @tempdir
32
+ ENV['GEMCACHE'] = nil
33
+ Gem.clear_paths
34
+ end
35
+
36
+ def prep_cache_files(lc)
37
+ [ [lc.system_cache_file, 'sys'],
38
+ [lc.user_cache_file, 'usr'],
39
+ ].each do |fn, data|
40
+ FileUtils.mkdir_p File.dirname(fn)
41
+ open(fn, "w") { |f| f.puts(Marshal.dump({'key' => data})) }
42
+ end
43
+ end
44
+
45
+ def read_cache(fn)
46
+ open(fn) { |f| Marshal.load(f) }
47
+ end
48
+
49
+ def write_file(path)
50
+ path = File.join(@gemhome, path)
51
+ dir = File.dirname path
52
+ FileUtils.mkdir_p dir
53
+ File.open(path, "w") { |io|
54
+ yield(io)
55
+ }
56
+ end
57
+
58
+ def quick_gem(gemname, version='0.0.2')
59
+ spec = Gem::Specification.new do |s|
60
+ s.platform = Gem::Platform::RUBY
61
+ s.name = gemname
62
+ s.version = version
63
+ s.author = 'A User'
64
+ s.email = 'example@example.com'
65
+ s.homepage = 'http://example.com'
66
+ s.has_rdoc = true
67
+ s.summary = "this is a summary"
68
+ s.description = "This is a test description"
69
+ yield(s) if block_given?
70
+ end
71
+
72
+ write_file(File.join("specifications", spec.full_name + ".gemspec")) do |io|
73
+ io.write(spec.to_ruby)
74
+ end
75
+
76
+ return spec
77
+ end
78
+
79
+ def test_stupid
80
+ # shuts up test/unit
81
+ end
82
+ end
@@ -7,9 +7,7 @@ require 'rubygems/remote_installer'
7
7
  require 'test/yaml_data'
8
8
  require 'test/gemutilities'
9
9
 
10
- class TestCachedFetcher < Test::Unit::TestCase
11
- SOURCE_URI = "http://localhost:12344"
12
- GEMHOME = "test/temp/writable_cache"
10
+ class TestCachedFetcher < RubyGemTestCase
13
11
 
14
12
  class MockFetcher
15
13
  attr_reader :count
@@ -29,10 +27,10 @@ class TestCachedFetcher < Test::Unit::TestCase
29
27
  end
30
28
 
31
29
  def setup
32
- make_cache_area(GEMHOME, "http://localhost:12344")
33
- Gem.clear_paths
34
- Gem.use_paths(GEMHOME)
35
- @cf = Gem::CachedFetcher.new(SOURCE_URI, nil)
30
+ super
31
+ @source_uri = "http://localhost:12344"
32
+ make_cache_area(@gemhome, @source_uri)
33
+ @cf = Gem::CachedFetcher.new(@source_uri, nil)
36
34
  @mf = MockFetcher.new
37
35
  @cf.instance_variable_set("@fetcher", @mf)
38
36
  end
@@ -0,0 +1,96 @@
1
+ require 'fileutils'
2
+ require 'tmpdir'
3
+ require 'test/unit'
4
+ require 'rubygems'
5
+ require 'test/gemutilities'
6
+ Gem::manage_gems
7
+
8
+ class TestFileList < RubyGemTestCase
9
+
10
+ def import_spec(name)
11
+ file = File.join(@gem_install_path, "specifications", name)
12
+ eval File.read(file)
13
+ end
14
+
15
+ def setup
16
+ @spec = Gem::Specification.new do |s|
17
+ s.files = ['lib/code.rb','lib/apple.rb','lib/brown.rb']
18
+ s.name = "a"
19
+ s.version = "0.0.1"
20
+ s.summary = "summary"
21
+ s.description = "desc"
22
+ s.require_path = 'lib'
23
+ end
24
+
25
+ @cm = Gem::CommandManager.new
26
+ @contents = @cm['contents']
27
+
28
+ current_path = Dir.getwd
29
+ @gem_install_path = File.join(current_path, "test/mock/gems/")
30
+ @gem_root_dir = File.join(@gem_install_path, "gems", @spec.name + "-" + @spec.version.to_s)
31
+
32
+ @gemspec_filename = @spec.name + '-' + @spec.version.to_s + '.gemspec'
33
+ @spec_destination_path = File.join(@gem_install_path, "specifications", @gemspec_filename)
34
+
35
+ begin
36
+ File.open(@spec_destination_path, 'w') do |fp|
37
+ fp.write @spec.to_ruby
38
+ end
39
+ rescue Exception => e
40
+ # ignore errors in setup
41
+ end
42
+
43
+ end
44
+
45
+ def teardown
46
+ FileUtils.rm_rf @spec_destination_path unless $DEBUG
47
+ end
48
+
49
+ def test_inspect_list
50
+ args = ["-s", @gem_install_path, "a"]
51
+ Gem::Command.instance_eval "public :handle_options"
52
+ @contents.handle_options(args)
53
+ sio = StringIO.new
54
+ @contents.execute(sio)
55
+ files = sio.string.split("\n")
56
+ code = File.join(@gem_root_dir,"lib/code.rb")
57
+ assert_match(code, files[0])
58
+ end
59
+
60
+ def test_inspect_list_unknown
61
+ args = ["-s", @gem_install_path, "not_there"]
62
+ Gem::Command.instance_eval "public :handle_options"
63
+ @contents.handle_options(args)
64
+ sio = StringIO.new
65
+ @contents.execute(sio)
66
+ assert_match(/Unable to find/, sio.string)
67
+ end
68
+
69
+ def disable_test_specification
70
+
71
+
72
+
73
+ puts " dest path: " + @spec_destination_path
74
+ assert(FileTest.exists?(@spec_destination_path))
75
+ assert(FileTest.size(@spec_destination_path)>0)
76
+ spec = import_spec(@gemspec_filename)
77
+
78
+ p spec.require_paths
79
+ p spec.full_gem_path
80
+
81
+ files = spec.files.map do |f|
82
+ end
83
+
84
+ root = @gem_install_path + "a-0.0.1";
85
+
86
+ puts " files[0] is: " + files[0]
87
+
88
+ check1 = root + "/lib/code.rb"
89
+ puts " check1 is " + check1
90
+ assert(files[0] == check1)
91
+ assert(files[1] == root + "/lib/apple.rb");
92
+ assert(files[2] == root + "/lib/brown.rb");
93
+ end
94
+
95
+ end
96
+
@@ -3,20 +3,24 @@
3
3
  require 'test/unit'
4
4
  require 'fileutils'
5
5
  require 'rubygems'
6
+ require 'test/gemutilities'
6
7
 
7
- class TestGemPaths < Test::Unit::TestCase
8
+ class TestGemPaths < RubyGemTestCase
8
9
  def setup
10
+ super
9
11
  Gem.clear_paths
10
12
  ENV['GEM_HOME'] = nil
11
13
  ENV['GEM_PATH'] = nil
14
+ @additional = ['a', 'b'].map { |f| File.join(@tempdir, f) }
12
15
  end
13
16
 
14
17
  def teardown
15
- setup
18
+ super
19
+ ENV['GEM_HOME'] = nil
20
+ ENV['GEM_PATH'] = nil
16
21
  end
17
22
 
18
23
  DEFAULT_DIR_RE = %r{/ruby/gems/[0-9.]+}
19
- TEST_GEMDIR = 'test/temp/gemdir'
20
24
 
21
25
  def test_default_dir
22
26
  assert_match DEFAULT_DIR_RE, Gem.dir
@@ -29,14 +33,14 @@ class TestGemPaths < Test::Unit::TestCase
29
33
  end
30
34
 
31
35
  def test_gem_home
32
- ENV['GEM_HOME'] = TEST_GEMDIR
33
- assert_equal TEST_GEMDIR, Gem.dir
36
+ ENV['GEM_HOME'] = @gemhome
37
+ assert_equal @gemhome, Gem.dir
34
38
  end
35
39
 
36
40
  def test_gem_home_subdirectories
37
- ENV['GEM_HOME'] = TEST_GEMDIR
41
+ ENV['GEM_HOME'] = @gemhome
38
42
  ['cache', 'doc', 'gems', 'specifications'].each do |filename|
39
- assert File.exists?(File.join(TEST_GEMDIR, filename)), "expected #{filename} to exist"
43
+ assert File.exists?(File.join(@gemhome, filename)), "expected #{filename} to exist"
40
44
  end
41
45
  end
42
46
 
@@ -44,45 +48,43 @@ class TestGemPaths < Test::Unit::TestCase
44
48
  assert_equal [Gem.dir], Gem.path
45
49
  end
46
50
 
47
- ADDITIONAL = ['test/temp/a', 'test/temp/b']
48
-
49
51
  def test_additional_paths
50
52
  create_additional_gem_dirs
51
- ENV['GEM_PATH'] = ADDITIONAL.join(File::PATH_SEPARATOR)
52
- assert_equal ADDITIONAL, Gem.path[0,2]
53
+ ENV['GEM_PATH'] = @additional.join(File::PATH_SEPARATOR)
54
+ assert_equal @additional, Gem.path[0,2]
53
55
  assert_equal 3, Gem.path.size
54
56
  assert_match DEFAULT_DIR_RE, Gem.path.last
55
57
  end
56
58
 
57
59
  def test_dir_path_overlap
58
60
  create_additional_gem_dirs
59
- ENV['GEM_HOME'] = 'test/temp/gemdir'
60
- ENV['GEM_PATH'] = ADDITIONAL.join(File::PATH_SEPARATOR)
61
- assert_equal 'test/temp/gemdir', Gem.dir
62
- assert_equal ADDITIONAL + [Gem.dir], Gem.path
61
+ ENV['GEM_HOME'] = @gemhome
62
+ ENV['GEM_PATH'] = @additional.join(File::PATH_SEPARATOR)
63
+ assert_equal @gemhome, Gem.dir
64
+ assert_equal @additional + [Gem.dir], Gem.path
63
65
  end
64
66
 
65
67
  def test_dir_path_overlaping_duplicates_removed
66
68
  create_additional_gem_dirs
67
- dirs = ['test/temp/gemdir'] + ADDITIONAL + ['test/temp/a']
68
- ENV['GEM_HOME'] = 'test/temp/gemdir'
69
+ dirs = [@gemhome] + @additional + [File.join(@tempdir, 'a')]
70
+ ENV['GEM_HOME'] = @gemhome
69
71
  ENV['GEM_PATH'] = dirs.join(File::PATH_SEPARATOR)
70
- assert_equal 'test/temp/gemdir', Gem.dir
71
- assert_equal [Gem.dir] + ADDITIONAL, Gem.path
72
+ assert_equal @gemhome, Gem.dir
73
+ assert_equal [Gem.dir] + @additional, Gem.path
72
74
  end
73
75
 
74
76
  def test_path_use_home
75
77
  create_additional_gem_dirs
76
- Gem.use_paths("test/temp/gemdir")
77
- assert_equal "test/temp/gemdir", Gem.dir
78
+ Gem.use_paths(@gemhome)
79
+ assert_equal @gemhome, Gem.dir
78
80
  assert_equal [Gem.dir], Gem.path
79
81
  end
80
82
 
81
83
  def test_path_use_home_and_dirs
82
84
  create_additional_gem_dirs
83
- Gem.use_paths("test/temp/gemdir", ADDITIONAL)
84
- assert_equal "test/temp/gemdir", Gem.dir
85
- assert_equal ADDITIONAL+[Gem.dir], Gem.path
85
+ Gem.use_paths(@gemhome, @additional)
86
+ assert_equal @gemhome, Gem.dir
87
+ assert_equal @additional+[Gem.dir], Gem.path
86
88
  end
87
89
 
88
90
  def test_user_home
@@ -92,22 +94,22 @@ class TestGemPaths < Test::Unit::TestCase
92
94
  end
93
95
 
94
96
  def test_ensure_gem_directories_new
95
- FileUtils.rm_r("test/temp/gemdir")
96
- Gem.use_paths("test/temp/gemdir")
97
- Gem.send(:ensure_gem_subdirectories, "test/temp/gemdir")
98
- assert File.exist?("test/temp/gemdir/cache")
97
+ FileUtils.rm_r(@gemhome)
98
+ Gem.use_paths(@gemhome)
99
+ Gem.send(:ensure_gem_subdirectories, @gemhome)
100
+ assert File.exist?(File.join(@gemhome, "cache"))
99
101
  end
100
102
 
101
103
  def test_ensure_gem_directories_missing_parents
102
- gemdir = "test/temp/a/b/c/gemdir"
103
- FileUtils.rm_r("test/temp/a") rescue nil
104
+ gemdir = File.join(@tempdir, "a/b/c/gemdir")
105
+ FileUtils.rm_r(File.join(@tempdir, "a")) rescue nil
104
106
  Gem.use_paths(gemdir)
105
107
  Gem.send(:ensure_gem_subdirectories, gemdir)
106
108
  assert File.exist?("#{gemdir}/cache")
107
109
  end
108
110
 
109
111
  def test_ensure_gem_directories_write_protected
110
- gemdir = "test/temp/egd"
112
+ gemdir = File.join(@tempdir, "egd")
111
113
  FileUtils.rm_r gemdir rescue nil
112
114
  FileUtils.mkdir_p gemdir
113
115
  FileUtils.chmod 0400, gemdir
@@ -120,7 +122,7 @@ class TestGemPaths < Test::Unit::TestCase
120
122
  end
121
123
 
122
124
  def test_ensure_gem_directories_with_parents_write_protected
123
- parent = "test/temp/egd"
125
+ parent = File.join(@tempdir, "egd")
124
126
  gemdir = "#{parent}/a/b/c"
125
127
 
126
128
  FileUtils.rm_r parent rescue nil
@@ -137,8 +139,8 @@ class TestGemPaths < Test::Unit::TestCase
137
139
  private
138
140
 
139
141
  def create_additional_gem_dirs
140
- create_gem_dir('test/temp/gemdir')
141
- ADDITIONAL.each do |dir| create_gem_dir(dir) end
142
+ create_gem_dir(@gemhome)
143
+ @additional.each do |dir| create_gem_dir(dir) end
142
144
  end
143
145
 
144
146
  def create_gem_dir(fn)