summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/runner.rb9
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f93db948e4..83e8228475 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jul 12 12:32:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/runner.rb: skip default gems to get rid of loading old versions
+ before installation.
+
Thu Jul 12 11:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_str_new_frozen): since the result object should have
diff --git a/test/runner.rb b/test/runner.rb
index d077672160..4ed6f31a35 100644
--- a/test/runner.rb
+++ b/test/runner.rb
@@ -10,6 +10,15 @@ class Gem::TestCase < MiniTest::Unit::TestCase
@@project_dir = File.dirname($LOAD_PATH.last)
end
+srcdir = File.dirname(src_testdir)
+default_gems = Dir.glob(srcdir + "/{lib,ext}/**/*.gemspec").map {|path| File.basename(path, ".*")}
+File.foreach(srcdir + "/defs/default_gems") do |line|
+ next if /^\s*#/ =~ line
+ default_gems << line[/^\S+/]
+end
+default_gems |= (ENV["GEM_SKIP"] || '').split(/:/)
+ENV["GEM_SKIP"] = default_gems.join(':')
+
require_relative 'profile_test_all' if ENV['RUBY_TEST_ALL_PROFILE'] == 'true'
exit Test::Unit::AutoRunner.run(true, src_testdir)