[前][次][番号順一覧][スレッド一覧]

ruby-changes:52838

From: k0kubun <ko1@a...>
Date: Sat, 13 Oct 2018 09:38:21 +0900 (JST)
Subject: [ruby-changes:52838] k0kubun:r65050 (trunk): kill_spec.rb: exclude spec unstable on MinGW

k0kubun	2018-10-13 09:38:15 +0900 (Sat, 13 Oct 2018)

  New Revision: 65050

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65050

  Log:
    kill_spec.rb: exclude spec unstable on MinGW
    
    like r64991, until we get helpful error logs on worker death or the
    unstability is fixed.
    
    Since mspec worker randomly dies on MinGW, maybe it should have an
    option to retry worker death.

  Modified files:
    trunk/spec/ruby/core/thread/kill_spec.rb
Index: spec/ruby/core/thread/kill_spec.rb
===================================================================
--- spec/ruby/core/thread/kill_spec.rb	(revision 65049)
+++ spec/ruby/core/thread/kill_spec.rb	(revision 65050)
@@ -2,20 +2,24 @@ require_relative '../../spec_helper' https://github.com/ruby/ruby/blob/trunk/spec/ruby/core/thread/kill_spec.rb#L2
 require_relative 'fixtures/classes'
 require_relative 'shared/exit'
 
-describe "Thread#kill" do
-  it_behaves_like :thread_exit, :kill
-end
+# This spec randomly kills mspec worker like: https://ci.appveyor.com/project/ruby/ruby/builds/19473223/job/f69derxnlo09xhuj
+# TODO: Investigate the cause or at least print helpful logs, and remove this `platform_is_not` guard.
+platform_is_not :mingw do
+  describe "Thread#kill" do
+    it_behaves_like :thread_exit, :kill
+  end
 
-describe "Thread#kill!" do
-  it "needs to be reviewed for spec completeness"
-end
+  describe "Thread#kill!" do
+    it "needs to be reviewed for spec completeness"
+  end
 
-describe "Thread.kill" do
-  it "causes the given thread to exit" do
-    thread = Thread.new { sleep }
-    Thread.pass while thread.status and thread.status != "sleep"
-    Thread.kill(thread).should == thread
-    thread.join
-    thread.status.should be_false
+  describe "Thread.kill" do
+    it "causes the given thread to exit" do
+      thread = Thread.new { sleep }
+      Thread.pass while thread.status and thread.status != "sleep"
+      Thread.kill(thread).should == thread
+      thread.join
+      thread.status.should be_false
+    end
   end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]