Hi,

These errors happen in ruby >= 2.4 since Fixnum and Bignum were merged into 
Integer.

The following upstream commit fixes the issue: 
https://github.com/mthiede/rgen/commit/1124f4303db52973967e78d93512a1c1b64f23cf

Attached is a patch to the debian source from 
https://salsa.debian.org/ruby-team/ruby-rgen which applies the above commit.

Thanks,
Kienan
diff --git a/debian/patches/fix-test-for-ruby-2.4 b/debian/patches/fix-test-for-ruby-2.4
new file mode 100644
index 0000000..bb94b79
--- /dev/null
+++ b/debian/patches/fix-test-for-ruby-2.4
@@ -0,0 +1,52 @@
+Description: Fix tests for ruby 2.4
+ This applies commit 1124f4303db52973967e78d93512a1c1b64f23cf which
+ lets the tests pass. In ruby 2.4 Fixnum and Bignum were merged into
+ Integer
+ .
+ ruby-rgen (0.8.0-1) unstable; urgency=medium
+ .
+   [ Cédric Boutillier ]
+   * Bump debhelper compatibility level to 9
+   * Remove version in the gem2deb build-dependency
+   * Use https:// in Vcs-* fields
+   * Bump Standards-Version to 3.9.7 (no changes needed)
+   * Run wrap-and-sort on packaging files
+ .
+   [ Stig Sandbeck Mathisen ]
+   * Declare compliance with Debian policy 3.9.8
+   * Imported upstream release 0.8.0
+Author: Stig Sandbeck Mathisen <s...@debian.org>
+
+Origin: https://github.com/mthiede/rgen/commit/1124f4303db52973967e78d93512a1c1b64f23cf
+Bug-Debian: https://bugs.debian.org/890689
+Last-Update: 2019-01-19
+
+--- ruby-rgen-0.8.0.orig/test/metamodel_builder_test.rb
++++ ruby-rgen-0.8.0/test/metamodel_builder_test.rb
+@@ -186,7 +186,7 @@ class MetamodelBuilderTest < Test::Unit:
+     err = assert_raise StandardError do
+       sc.name = 5
+     end
+-    assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
++    assert_match /In (\w+::)+SimpleClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
+     assert_equal "EString", mm::SimpleClass.ecore.eAttributes.find{|a| a.name=="name"}.eType.name
+ 
+     assert_equal "xtest", sc.stringWithDefault
+@@ -288,7 +288,7 @@ class MetamodelBuilderTest < Test::Unit:
+     err = assert_raise(StandardError) do
+       o.addLiterals(1)
+     end
+-    assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
++    assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
+ 
+     assert_equal [], o.literals
+     o.addLiterals("a")
+@@ -323,7 +323,7 @@ class MetamodelBuilderTest < Test::Unit:
+     err = assert_raise(StandardError) do
+       o.literals = 1
+     end
+-    assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
++    assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a Enumerable is expected/, err.message
+  
+     o.bools = [true, false, true, false]
+     assert_equal [true, false, true, false], o.bools
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..ae45377
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+fix-test-for-ruby-2.4
diff --git a/test/metamodel_builder_test.rb b/test/metamodel_builder_test.rb
index 4567a86..2ce7d2f 100644
--- a/test/metamodel_builder_test.rb
+++ b/test/metamodel_builder_test.rb
@@ -186,7 +186,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
     err = assert_raise StandardError do
       sc.name = 5
     end
-    assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
+    assert_match /In (\w+::)+SimpleClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
     assert_equal "EString", mm::SimpleClass.ecore.eAttributes.find{|a| a.name=="name"}.eType.name
 
     assert_equal "xtest", sc.stringWithDefault
@@ -288,7 +288,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
     err = assert_raise(StandardError) do
       o.addLiterals(1)
     end
-    assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
+    assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
 
     assert_equal [], o.literals
     o.addLiterals("a")
@@ -323,7 +323,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
     err = assert_raise(StandardError) do
       o.literals = 1
     end
-    assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
+    assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a Enumerable is expected/, err.message
  
     o.bools = [true, false, true, false]
     assert_equal [true, false, true, false], o.bools

Reply via email to