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