aboutsummaryrefslogtreecommitdiffhomepage
path: root/ruby/Rakefile
diff options
context:
space:
mode:
authorGravatar Paul Yang <TeBoring@users.noreply.github.com>2017-10-03 17:28:49 -0700
committerGravatar GitHub <noreply@github.com>2017-10-03 17:28:49 -0700
commitcd5f49d0942e19a5854a325941918fca02fdb409 (patch)
treee4fde8a62907668dbada9c3332f181faf375c645 /ruby/Rakefile
parentd6c32a818fd8590e1758d1ed86107a967468d1b6 (diff)
Fix ruby segment fault (#3708)
* Fix ruby segment fault 1) rb_ary_new cannot be called during allocate function. During allocate fucntion, the containing object hasn't been marked and rb_ary_new may invoke gc to collect containing object. 2) The global map should be marked before allocating it. Otherwise it may be garbage collected. * Add test * Remove commented code * Fix grammer error
Diffstat (limited to 'ruby/Rakefile')
-rw-r--r--ruby/Rakefile8
1 files changed, 7 insertions, 1 deletions
diff --git a/ruby/Rakefile b/ruby/Rakefile
index a329a777..e30a75a3 100644
--- a/ruby/Rakefile
+++ b/ruby/Rakefile
@@ -99,7 +99,13 @@ Gem::PackageTask.new(spec) do |pkg|
end
Rake::TestTask.new(:test => :build) do |t|
- t.test_files = FileList["tests/*.rb"]
+ t.test_files = FileList["tests/*.rb"].exclude("tests/gc_test.rb")
+end
+
+# gc_test needs to be split out to ensure the generated file hasn't been
+# imported by other tests.
+Rake::TestTask.new(:gc_test => :build) do |t|
+ t.test_files = FileList["tests/gc_test.rb"]
end
task :build => [:clean, :compile, :genproto]