[rubygem-erubis] Fix test suite for Ruby 2.2 compatibility.

Vít Ondruch vondruch at fedoraproject.org
Thu Jan 22 08:54:00 UTC 2015


commit 9eecdd6171c88857e15e915c3675286daf84b741
Author: Vít Ondruch <vondruch at redhat.com>
Date:   Thu Jan 22 09:54:25 2015 +0100

    Fix test suite for Ruby 2.2 compatibility.

 ...gem-erubis-2.7.0-Add-support-for-Ruby-2.2.patch |   64 ++++++++++++++++++++
 rubygem-erubis.spec                                |   16 ++++-
 2 files changed, 76 insertions(+), 4 deletions(-)
---
diff --git a/rubygem-erubis-2.7.0-Add-support-for-Ruby-2.2.patch b/rubygem-erubis-2.7.0-Add-support-for-Ruby-2.2.patch
new file mode 100644
index 0000000..5d8a6db
--- /dev/null
+++ b/rubygem-erubis-2.7.0-Add-support-for-Ruby-2.2.patch
@@ -0,0 +1,64 @@
+From 82d85b70f66de8c8c6f6ecb52f6536711c1de591 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch at redhat.com>
+Date: Wed, 21 Jan 2015 16:46:45 +0100
+Subject: [PATCH] Add support for Ruby 2.2.
+
+---
+ test/test-main.rb        | 4 ++--
+ test/test-users-guide.rb | 2 +-
+ test/testutil.rb         | 4 ++++
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/test/test-main.rb b/test/test-main.rb
+index 9dbe12e..eca7b21 100644
+--- a/test/test-main.rb
++++ b/test/test-main.rb
+@@ -216,7 +216,7 @@ END
+     begin
+       ENV['PATH'] = bindir + File::PATH_SEPARATOR + ENV['PATH']
+       ENV['_'] = 'erubis'
+-      Tempfile.open(self.name.gsub(/[^\w]/,'_')) do |f|
++      Tempfile.open(self.method_name.gsub(/[^\w]/,'_')) do |f|
+         f.write(INPUT)
+         f.flush
+         yield(f.path)
+@@ -273,7 +273,7 @@ END
+       errmsgs << <<'END'
+ 7: syntax error, unexpected $end, expecting keyword_end
+ END
+-    elsif ruby20? || ruby21?
++    elsif ruby20? || ruby21? || ruby22?
+       errmsgs << <<'END'
+ 3: syntax error, unexpected ']', expecting ')'
+  _buf << '  <li>'; _buf << ( item[:name]] ).to_s; _buf << '</li>
+diff --git a/test/test-users-guide.rb b/test/test-users-guide.rb
+index fee5435..af6c006 100644
+--- a/test/test-users-guide.rb
++++ b/test/test-users-guide.rb
+@@ -28,7 +28,7 @@ class KwarkUsersGuideTest < Test::Unit::TestCase
+     s =~ /\A\$ (.*?)\n/
+     command = $1
+     expected = $'
+-    if ruby19? || ruby20? || ruby21?
++    if ruby19? || ruby20? || ruby21? || ruby22?
+       case @name
+       when 'test_main_program1_result'
+         expected.sub!('["eruby", "items", "x", "_buf"]', '[:_buf, :eruby, :items, :x]')
+diff --git a/test/testutil.rb b/test/testutil.rb
+index 1b841c3..e9130b7 100644
+--- a/test/testutil.rb
++++ b/test/testutil.rb
+@@ -25,6 +25,10 @@ def ruby21?  # :nodoc:
+   RUBY_VERSION =~ /\A2.1/
+ end
+ 
++def ruby22?  # :nodoc:
++  RUBY_VERSION =~ /\A2.2/
++end
++
+ def rubinius?  # :nodoc:
+   defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
+ end
+-- 
+2.1.0
+
diff --git a/rubygem-erubis.spec b/rubygem-erubis.spec
index aaf3af5..8d88a23 100644
--- a/rubygem-erubis.spec
+++ b/rubygem-erubis.spec
@@ -5,7 +5,7 @@
 Summary: A fast and extensible eRuby implementation
 Name: rubygem-%{gem_name}
 Version: 2.7.0
-Release: 7%{?dist}
+Release: 8%{?dist}
 Group: Development/Languages
 License: MIT
 URL: http://www.kuwata-lab.com/erubis/
@@ -19,9 +19,10 @@ Source1: %{gem_name}-%{version}-public_html.tgz
 Patch0: rubygem-erubis-2.7.0-ruby-2.0-compatibility.patch
 # https://github.com/kwatch/erubis/pull/5
 Patch1: rubygem-erubis-2.7-Add-support-for-Ruby-2.1.patch
+Patch2: rubygem-erubis-2.7.0-Add-support-for-Ruby-2.2.patch
 BuildRequires: rubygems-devel
 BuildRequires: ruby(release)
-BuildRequires: rubygem(minitest) < 5
+BuildRequires: rubygem(test-unit)
 BuildArch: noarch
 
 %description
@@ -44,6 +45,7 @@ mkdir -p .%{_bindir}
 pushd .%{gem_instdir}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 popd
 
 %build
@@ -78,8 +80,11 @@ mv test/data/users-guide/{E,e}xample.ejava
 # test_untabify2(MainTest) test fails. It is not obvious how to make it run
 # with Psych, since Psych by design denies tabified YAML, where it was
 # acceptable for Syck (if I am not mistaken).
-ruby -I.:lib -e "Dir.glob('./test/test-*.rb').each {|t| require t}" \
-  | grep "159 tests, 237 assertions, 1 failures, 0 errors, 0 skips"
+# TODO: This could be ignored by --ignore-name= param if only it worked.
+# https://github.com/test-unit/test-unit/issues/92
+sed -i '/^  def test_untabify2/,/^  end$/ s/^/#/' test/test-main.rb
+
+ruby -I.:lib -e "Dir.glob('./test/test-*.rb').each {|t| require t}"
 popd
 
 %files
@@ -112,6 +117,9 @@ popd
 %{gem_docdir}
 
 %changelog
+* Thu Jan 22 2015 Vít Ondruch <vondruch at redhat.com> - 2.7.0-8
+- Fix test suite for Ruby 2.2 compatibility.
+
 * Mon Jun 23 2014 Vít Ondruch <vondruch at redhat.com> - 2.7.0-7
 - Fix FTBFS in Rawhide (rhbz#1107104).
 


More information about the scm-commits mailing list