This is an automated email from the ASF dual-hosted git repository.

kszucs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git

commit c379f22f653e1fc0ea477ab5e26ca7eb1f3a4e24
Author: Sutou Kouhei <k...@clear-code.com>
AuthorDate: Thu Oct 3 14:46:52 2019 +0900

    ARROW-6777: [GLib][CI] Unpin gobject-introspection gem
    
    gobject-introspection gem 3.3.8 or later is needed for GLib 2.62.0 or
    later. But gobject-introspection gem 3.3.8 has some problems.
    
    This change omits tests that are affected by these problems.
    
    Closes #5572 from kou/glib-unpin-gobject-introspection and squashes the 
following commits:
    
    715b6d41d <Sutou Kouhei>  Unpin gobject-introspection gem
    
    Authored-by: Sutou Kouhei <k...@clear-code.com>
    Signed-off-by: Sutou Kouhei <k...@clear-code.com>
---
 c_glib/Gemfile                                     |  2 +-
 c_glib/test/plasma/test-plasma-client.rb           |  1 +
 c_glib/test/plasma/test-plasma-created-object.rb   |  3 +++
 c_glib/test/plasma/test-plasma-referred-object.rb  |  3 +++
 c_glib/test/test-cuda.rb                           |  2 ++
 ruby/red-arrow/red-arrow.gemspec                   |  2 +-
 ruby/red-plasma/test/helper.rb                     |  1 +
 .../test/{helper.rb => helper/omittable.rb}        | 24 ++++++++++++++++------
 ruby/red-plasma/test/test-plasma-client.rb         |  3 +++
 9 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/c_glib/Gemfile b/c_glib/Gemfile
index f42c185..4b57090 100644
--- a/c_glib/Gemfile
+++ b/c_glib/Gemfile
@@ -20,4 +20,4 @@
 source "https://rubygems.org/";
 
 gem "test-unit"
-gem "gobject-introspection", "= 3.3.7"
+gem "gobject-introspection"
diff --git a/c_glib/test/plasma/test-plasma-client.rb 
b/c_glib/test/plasma/test-plasma-client.rb
index a57d1fc..14c65b4 100644
--- a/c_glib/test/plasma/test-plasma-client.rb
+++ b/c_glib/test/plasma/test-plasma-client.rb
@@ -21,6 +21,7 @@ class TestPlasmaClient < Test::Unit::TestCase
   def setup
     @store = nil
     omit("Plasma is required") unless defined?(::Plasma)
+    require_gi_bindings(3, 3, 9)
     @store = Helper::PlasmaStore.new
     @store.start
     @options = Plasma::ClientOptions.new
diff --git a/c_glib/test/plasma/test-plasma-created-object.rb 
b/c_glib/test/plasma/test-plasma-created-object.rb
index 857322d..8d036cd 100644
--- a/c_glib/test/plasma/test-plasma-created-object.rb
+++ b/c_glib/test/plasma/test-plasma-created-object.rb
@@ -16,9 +16,12 @@
 # under the License.
 
 class TestPlasmaCreatedObject < Test::Unit::TestCase
+  include Helper::Omittable
+
   def setup
     @store = nil
     omit("Plasma is required") unless defined?(::Plasma)
+    require_gi_bindings(3, 3, 9)
     @store = Helper::PlasmaStore.new
     @store.start
     @client = Plasma::Client.new(@store.socket_path, nil)
diff --git a/c_glib/test/plasma/test-plasma-referred-object.rb 
b/c_glib/test/plasma/test-plasma-referred-object.rb
index a74641e..ef4c72a 100644
--- a/c_glib/test/plasma/test-plasma-referred-object.rb
+++ b/c_glib/test/plasma/test-plasma-referred-object.rb
@@ -16,9 +16,12 @@
 # under the License.
 
 class TestPlasmaReferredObject < Test::Unit::TestCase
+  include Helper::Omittable
+
   def setup
     @store = nil
     omit("Plasma is required") unless defined?(::Plasma)
+    require_gi_bindings(3, 3, 9)
     @store = Helper::PlasmaStore.new
     @store.start
     @client = Plasma::Client.new(@store.socket_path, nil)
diff --git a/c_glib/test/test-cuda.rb b/c_glib/test/test-cuda.rb
index ae91530..d24bab6 100644
--- a/c_glib/test/test-cuda.rb
+++ b/c_glib/test/test-cuda.rb
@@ -17,6 +17,7 @@
 
 class TestCUDA < Test::Unit::TestCase
   include Helper::Buildable
+  include Helper::Omittable
 
   def setup
     omit("Arrow CUDA is required") unless defined?(::ArrowCUDA)
@@ -47,6 +48,7 @@ class TestCUDA < Test::Unit::TestCase
     end
 
     def test_export
+      require_gi_bindings(3, 3, 9)
       @buffer.copy_from_host("Hello World")
       handle = @buffer.export
       serialized_handle = handle.serialize.data
diff --git a/ruby/red-arrow/red-arrow.gemspec b/ruby/red-arrow/red-arrow.gemspec
index 75430b5..f4fcda9 100644
--- a/ruby/red-arrow/red-arrow.gemspec
+++ b/ruby/red-arrow/red-arrow.gemspec
@@ -47,7 +47,7 @@ Gem::Specification.new do |spec|
   spec.extensions = ["ext/arrow/extconf.rb"]
 
   spec.add_runtime_dependency("extpp", ">= 0.0.7")
-  spec.add_runtime_dependency("gio2", "= 3.3.7")
+  spec.add_runtime_dependency("gio2", ">= 3.3.6")
   spec.add_runtime_dependency("native-package-installer")
   spec.add_runtime_dependency("pkg-config")
 
diff --git a/ruby/red-plasma/test/helper.rb b/ruby/red-plasma/test/helper.rb
index 255cad2..02c545f 100644
--- a/ruby/red-plasma/test/helper.rb
+++ b/ruby/red-plasma/test/helper.rb
@@ -21,4 +21,5 @@ require "tempfile"
 
 require "test-unit"
 
+require_relative "helper/omittable"
 require_relative "helper/plasma-store"
diff --git a/ruby/red-plasma/test/helper.rb 
b/ruby/red-plasma/test/helper/omittable.rb
similarity index 56%
copy from ruby/red-plasma/test/helper.rb
copy to ruby/red-plasma/test/helper/omittable.rb
index 255cad2..a1c0334 100644
--- a/ruby/red-plasma/test/helper.rb
+++ b/ruby/red-plasma/test/helper/omittable.rb
@@ -15,10 +15,22 @@
 # specific language governing permissions and limitations
 # under the License.
 
-require "plasma"
+module Helper
+  module Omittable
+    def require_gi_bindings(major, minor, micro)
+      return if GLib.check_binding_version?(major, minor, micro)
+      message =
+        "Require gobject-introspection #{major}.#{minor}.#{micro} or later: " +
+        GLib::BINDING_VERSION.join(".")
+      omit(message)
+    end
 
-require "tempfile"
-
-require "test-unit"
-
-require_relative "helper/plasma-store"
+    def require_gi(major, minor, micro)
+      return if GObjectIntrospection::Version.or_later?(major, minor, micro)
+      message =
+        "Require GObject Introspection #{major}.#{minor}.#{micro} or later: " +
+        GObjectIntrospection::Version::STRING
+      omit(message)
+    end
+  end
+end
diff --git a/ruby/red-plasma/test/test-plasma-client.rb 
b/ruby/red-plasma/test/test-plasma-client.rb
index de76fb9..d618297 100644
--- a/ruby/red-plasma/test/test-plasma-client.rb
+++ b/ruby/red-plasma/test/test-plasma-client.rb
@@ -16,8 +16,11 @@
 # under the License.
 
 class TestPlasmaClient < Test::Unit::TestCase
+  include Helper::Omittable
+
   def setup
     @store = nil
+    require_gi_bindings(3, 3, 9)
     @store = Helper::PlasmaStore.new
     @store.start
     @id = Plasma::ObjectID.new("Hello")

Reply via email to