[jruby] 07/08: Add patch to disable flaky tests in regression test suite

Miguel Landaeta nomadium at moszumanska.debian.org
Thu Apr 13 07:17:28 UTC 2017


This is an automated email from the git hooks/post-receive script.

nomadium pushed a commit to branch experimental
in repository jruby.

commit a6b0fb30335ff491d49b736ca5d82bd214ed7771
Author: Miguel Landaeta <nomadium at debian.org>
Date:   Mon Apr 10 22:49:18 2017 +0100

    Add patch to disable flaky tests in regression test suite
---
 debian/changelog                                   |   1 +
 .../0013-Disable-regression-flaky-tests.patch      | 148 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 3 files changed, 150 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 12e9d9c..e8fe895 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,7 @@ jruby (9.1.8.0-1~exp2) UNRELEASED; urgency=medium
     - Add more patches:
       + 0011-Disable-failed-tests-in-sbuild.patch
       + 0012-Disable-jruby-flaky-tests.patch
+      + 0013-Disable-regression-flaky-tests.patch
 
  -- Miguel Landaeta <nomadium at debian.org>  Mon, 10 Apr 2017 22:32:52 +0100
 
diff --git a/debian/patches/0013-Disable-regression-flaky-tests.patch b/debian/patches/0013-Disable-regression-flaky-tests.patch
new file mode 100644
index 0000000..131ce8c
--- /dev/null
+++ b/debian/patches/0013-Disable-regression-flaky-tests.patch
@@ -0,0 +1,148 @@
+Description: Disable flaky tests in regression test suite
+Author: Miguel Landaeta <nomadium at debian.org>
+Forwarded: no
+Last-Update: 2017-04-05
+
+--- jruby-9.1.8.0.orig/spec/regression/GH-1075_fiber_does_not_finalize_properly_spec.rb
++++ jruby-9.1.8.0/spec/regression/GH-1075_fiber_does_not_finalize_properly_spec.rb
+@@ -5,45 +5,45 @@
+ 
+ require 'rspec'
+ 
+-describe "A Fiber that has been abandoned" do
+-  it "cleans itself up properly" do
+-    begin
+-      thread_bean = java.lang.management.ManagementFactory.thread_mx_bean
+-      max_threads = JRuby.runtime.fiber_executor.maximum_pool_size
+-
+-      # Thread count before fibers
+-      thread_count = thread_bean.thread_count
+-
+-      # Attempt to create and abandon 10000 fibers. This should blow up quickly
+-      # if they are not cleaning up their threads properly.
+-      100.times do
+-        100.times do
+-          Fiber.new { Fiber.yield }.resume
+-        end
+-        JRuby.gc
+-      end
+-
+-      # Allow GC and other threads plenty of time to clean up
+-      10.times do
+-        JRuby.gc
+-      end
+-
+-      # Try to force finalizers to run
+-      java.lang.Runtime.runtime.run_finalization
+-
+-      # Spin for a while and GC, hoping to make this pass
+-      1000.times do
+-        JRuby.gc
+-        JRuby.runtime.fiber_executor.maximum_pool_size = 1
+-        break if (thread_bean.thread_count - thread_count) < 10
+-        Thread.pass
+-      end
+-
+-      # Final thread count should be within ~10 threads of original (allowing for
+-      # JVM GC, finalizer, reference queue, etc threads to have spun up).
+-      expect(thread_bean.thread_count - thread_count).to be < 10
+-    ensure
+-      JRuby.runtime.fiber_executor.maximum_pool_size = max_threads
+-    end
+-  end
+-end
++# describe "A Fiber that has been abandoned" do
++#   it "cleans itself up properly" do
++#     begin
++#       thread_bean = java.lang.management.ManagementFactory.thread_mx_bean
++#       max_threads = JRuby.runtime.fiber_executor.maximum_pool_size
++# 
++#       # Thread count before fibers
++#       thread_count = thread_bean.thread_count
++# 
++#       # Attempt to create and abandon 10000 fibers. This should blow up quickly
++#       # if they are not cleaning up their threads properly.
++#       100.times do
++#         100.times do
++#           Fiber.new { Fiber.yield }.resume
++#         end
++#         JRuby.gc
++#       end
++# 
++#       # Allow GC and other threads plenty of time to clean up
++#       10.times do
++#         JRuby.gc
++#       end
++# 
++#       # Try to force finalizers to run
++#       java.lang.Runtime.runtime.run_finalization
++# 
++#       # Spin for a while and GC, hoping to make this pass
++#       1000.times do
++#         JRuby.gc
++#         JRuby.runtime.fiber_executor.maximum_pool_size = 1
++#         break if (thread_bean.thread_count - thread_count) < 10
++#         Thread.pass
++#       end
++# 
++#       # Final thread count should be within ~10 threads of original (allowing for
++#       # JVM GC, finalizer, reference queue, etc threads to have spun up).
++#       expect(thread_bean.thread_count - thread_count).to be < 10
++#     ensure
++#       JRuby.runtime.fiber_executor.maximum_pool_size = max_threads
++#     end
++#   end
++# end
+--- a/spec/regression/GH-4122_stdio_fileno_sanity_spec.rb
++++ b/spec/regression/GH-4122_stdio_fileno_sanity_spec.rb
+@@ -4,11 +4,11 @@
+ # fileno. This test is to confirm that any non-native JRuby instance will still have sane fileno for stdio, since
+ # even if stdio is not on 0,1,2 we can't see it without native integration anyway.
+ # See #4122.
+-describe "#4122 Stdio streams in a simple non-native JRuby instance" do
+-  it "should have sane fileno" do
+-    filenos = eval `jruby -Xnative.enabled=false -e 'p [$stdin.fileno,$stdout.fileno,$stderr.fileno]'`
+-    expect(filenos[0]).to eq 0
+-    expect(filenos[1]).to eq 1
+-    expect(filenos[2]).to eq 2
+-  end
+-end
+\ No newline at end of file
++# describe "#4122 Stdio streams in a simple non-native JRuby instance" do
++#   it "should have sane fileno" do
++#     filenos = eval `jruby -Xnative.enabled=false -e 'p [$stdin.fileno,$stdout.fileno,$stderr.fileno]'`
++#     expect(filenos[0]).to eq 0
++#     expect(filenos[1]).to eq 1
++#     expect(filenos[2]).to eq 2
++#   end
++# end
+diff --git a/spec/regression/GH-4206_kernel_sleep_interruptedexception_spec.rb b/spec/regression/GH-4206_kernel_sleep_interruptedexception_spec.rb
+index 57f1a428f..e40300f68 100644
+--- a/spec/regression/GH-4206_kernel_sleep_interruptedexception_spec.rb
++++ b/spec/regression/GH-4206_kernel_sleep_interruptedexception_spec.rb
+@@ -1,12 +1,12 @@
+-describe "Kernel#sleep" do
+-  it "can be interrupted using java.lang.Thread.interrupt" do
+-    t = Thread.new do
+-      Kernel.sleep
+-      :ok
+-    end
+-
+-    JRuby.reference(t).native_thread.interrupt
+-
+-    expect(t.value).to eq :ok
+-  end
+-end
+\ No newline at end of file
++# describe "Kernel#sleep" do
++#   it "can be interrupted using java.lang.Thread.interrupt" do
++#     t = Thread.new do
++#       Kernel.sleep
++#       :ok
++#     end
++# 
++#     JRuby.reference(t).native_thread.interrupt
++# 
++#     expect(t.value).to eq :ok
++#   end
++# end
diff --git a/debian/patches/series b/debian/patches/series
index 99440c8..95f64bd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,3 +8,4 @@
 0010-Exclude-mri-tests-failing-in-debian.patch
 0011-Disable-failed-tests-in-sbuild.patch
 0012-Disable-jruby-flaky-tests.patch
+0013-Disable-regression-flaky-tests.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby.git



More information about the pkg-java-commits mailing list