dev-ruby/dalli: add ruby34

Signed-off-by: Hans de Graaff <graaff@gentoo.org>
This commit is contained in:
Hans de Graaff
2025-04-10 10:52:43 +02:00
parent e071248203
commit 8d3302f58e
2 changed files with 281 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby31 ruby32 ruby33 ruby34"
RUBY_FAKEGEM_BINWRAP=""
RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test"
RUBY_FAKEGEM_DOCDIR="doc"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md Performance.md README.md"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="A high performance pure Ruby client for accessing memcached servers"
HOMEPAGE="https://github.com/petergoldstein/dalli"
SRC_URI="https://github.com/petergoldstein/dalli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test"
DEPEND="test? ( >=net-misc/memcached-1.5.4[ssl(-)] )"
PATCHES=( "${FILESDIR}/${P}-ruby34.patch" )
ruby_add_bdepend "test? (
dev-ruby/connection_pool
dev-ruby/minitest:5
dev-ruby/rack
dev-ruby/rack-session
)"
all_ruby_prepare() {
chmod 0755 "${HOME}" || die "Failed to fix permissions on home"
sed -i -e '/\(appraisal\|bundler\)/ s:^:#:' Rakefile || die
sed -i -e '3igem "minitest", "~> 5.0"; require "dalli"' \
-e '/bundler/ s:^:#:' test/helper.rb || die
sed -i -e "s:/tmp:${T}:" test/utils/certificate_generator.rb || die
}

View File

@@ -0,0 +1,235 @@
From 353a5c1dfcf580ef7b89d99f7394d019c0e1845c Mon Sep 17 00:00:00 2001
From: Peter Goldstein <peter.m.goldstein@gmail.com>
Date: Sat, 21 Dec 2024 19:54:38 -0500
Subject: [PATCH] Fix formatting so tests pass on head (#1020)
* Fix formatting so tests pass on head
* More formatting changes
* More formatting
---
test/test_rack_session.rb | 66 +++++++++++++++++++++------------------
1 file changed, 35 insertions(+), 31 deletions(-)
diff --git a/test/test_rack_session.rb b/test/test_rack_session.rb
index acb3de06..fa4c1fab 100644
--- a/test/test_rack_session.rb
+++ b/test/test_rack_session.rb
@@ -114,7 +114,7 @@
res = Rack::MockRequest.new(rsd).get('/')
assert_includes res['Set-Cookie'], "#{session_key}="
- assert_equal '{"counter"=>1}', res.body
+ assert_equal res.body, { 'counter' => 1 }.to_s
end
it 'determines session from a cookie' do
@@ -123,8 +123,8 @@
res = req.get('/')
cookie = res['Set-Cookie']
- assert_equal '{"counter"=>2}', req.get('/', 'HTTP_COOKIE' => cookie).body
- assert_equal '{"counter"=>3}', req.get('/', 'HTTP_COOKIE' => cookie).body
+ assert_equal req.get('/', 'HTTP_COOKIE' => cookie).body, { 'counter' => 2 }.to_s
+ assert_equal req.get('/', 'HTTP_COOKIE' => cookie).body, { 'counter' => 3 }.to_s
end
it 'determines session only from a cookie by default' do
@@ -133,8 +133,8 @@
res = req.get('/')
sid = res['Set-Cookie'][session_match, 1]
- assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body
- assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body
+ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 1 }.to_s
+ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 1 }.to_s
end
it 'determines session from params' do
@@ -143,8 +143,8 @@
res = req.get('/')
sid = res['Set-Cookie'][session_match, 1]
- assert_equal '{"counter"=>2}', req.get("/?rack.session=#{sid}").body
- assert_equal '{"counter"=>3}', req.get("/?rack.session=#{sid}").body
+ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 2 }.to_s
+ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 3 }.to_s
end
it 'survives nonexistant cookies' do
@@ -153,7 +153,7 @@
res = Rack::MockRequest.new(rsd)
.get('/', 'HTTP_COOKIE' => bad_cookie)
- assert_equal '{"counter"=>1}', res.body
+ assert_equal res.body, { 'counter' => 1 }.to_s
cookie = res['Set-Cookie'][session_match]
refute_match(/#{bad_cookie}/, cookie)
@@ -173,32 +173,32 @@
rsd = Rack::Session::Dalli.new(incrementor, expire_after: 3)
res = Rack::MockRequest.new(rsd).get('/')
- assert_includes res.body, '"counter"=>1'
+ assert_includes res.body, { 'counter' => 1 }.to_s
cookie = res['Set-Cookie']
puts 'Sleeping to expire session' if $DEBUG
sleep 4
res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie)
refute_equal cookie, res['Set-Cookie']
- assert_includes res.body, '"counter"=>1'
+ assert_includes res.body, { 'counter' => 1 }.to_s
end
it 'maintains freshness of existing sessions' do
rsd = Rack::Session::Dalli.new(incrementor, expire_after: 3)
res = Rack::MockRequest.new(rsd).get('/')
- assert_includes res.body, '"counter"=>1'
+ assert_includes res.body, { 'counter' => 1 }.to_s
cookie = res['Set-Cookie']
res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie)
assert_equal cookie, res['Set-Cookie']
- assert_includes res.body, '"counter"=>2'
+ assert_includes res.body, { 'counter' => 2 }.to_s
puts 'Sleeping to expire session' if $DEBUG
sleep 4
res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie)
refute_equal cookie, res['Set-Cookie']
- assert_includes res.body, '"counter"=>1'
+ assert_includes res.body, { 'counter' => 1 }.to_s
end
it 'does not send the same session id if it did not change' do
@@ -208,17 +208,17 @@
res0 = req.get('/')
cookie = res0['Set-Cookie'][session_match]
- assert_equal '{"counter"=>1}', res0.body
+ assert_equal res0.body, { 'counter' => 1 }.to_s
res1 = req.get('/', 'HTTP_COOKIE' => cookie)
assert_nil res1['Set-Cookie']
- assert_equal '{"counter"=>2}', res1.body
+ assert_equal res1.body, { 'counter' => 2 }.to_s
res2 = req.get('/', 'HTTP_COOKIE' => cookie)
assert_nil res2['Set-Cookie']
- assert_equal '{"counter"=>3}', res2.body
+ assert_equal res2.body, { 'counter' => 3 }.to_s
end
it 'deletes cookies with :drop option' do
@@ -230,17 +230,17 @@
res1 = req.get('/')
session = (cookie = res1['Set-Cookie'])[session_match]
- assert_equal '{"counter"=>1}', res1.body
+ assert_equal res1.body, { 'counter' => 1 }.to_s
res2 = dreq.get('/', 'HTTP_COOKIE' => cookie)
assert_nil res2['Set-Cookie']
- assert_equal '{"counter"=>2}', res2.body
+ assert_equal res2.body, { 'counter' => 2 }.to_s
res3 = req.get('/', 'HTTP_COOKIE' => cookie)
refute_equal session, res3['Set-Cookie'][session_match]
- assert_equal '{"counter"=>1}', res3.body
+ assert_equal res3.body, { 'counter' => 1 }.to_s
end
it 'provides new session id with :renew option' do
@@ -252,23 +252,23 @@
res1 = req.get('/')
session = (cookie = res1['Set-Cookie'])[session_match]
- assert_equal '{"counter"=>1}', res1.body
+ assert_equal res1.body, { 'counter' => 1 }.to_s
res2 = rreq.get('/', 'HTTP_COOKIE' => cookie)
new_cookie = res2['Set-Cookie']
new_session = new_cookie[session_match]
refute_equal session, new_session
- assert_equal '{"counter"=>2}', res2.body
+ assert_equal res2.body, { 'counter' => 2 }.to_s
res3 = req.get('/', 'HTTP_COOKIE' => new_cookie)
- assert_equal '{"counter"=>3}', res3.body
+ assert_equal res3.body, { 'counter' => 3 }.to_s
# Old cookie was deleted
res4 = req.get('/', 'HTTP_COOKIE' => cookie)
- assert_equal '{"counter"=>1}', res4.body
+ assert_equal res4.body, { 'counter' => 1 }.to_s
end
it 'omits cookie with :defer option but still updates the state' do
@@ -281,15 +281,15 @@
res0 = dreq.get('/')
assert_nil res0['Set-Cookie']
- assert_equal '{"counter"=>1}', res0.body
+ assert_equal res0.body, { 'counter' => 1 }.to_s
res0 = creq.get('/')
res1 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
- assert_equal '{"counter"=>2}', res1.body
+ assert_equal res1.body, { 'counter' => 2 }.to_s
res2 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
- assert_equal '{"counter"=>3}', res2.body
+ assert_equal res2.body, { 'counter' => 3 }.to_s
end
it 'omits cookie and state update with :skip option' do
@@ -302,15 +302,15 @@
res0 = sreq.get('/')
assert_nil res0['Set-Cookie']
- assert_equal '{"counter"=>1}', res0.body
+ assert_equal res0.body, { 'counter' => 1 }.to_s
res0 = creq.get('/')
res1 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
- assert_equal '{"counter"=>2}', res1.body
+ assert_equal res1.body, { 'counter' => 2 }.to_s
res2 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie'])
- assert_equal '{"counter"=>2}', res2.body
+ assert_equal res2.body, { 'counter' => 2 }.to_s
end
it 'updates deep hashes correctly' do
@@ -332,13 +332,17 @@
ses0 = JSON.parse(res0.body)
refute_nil ses0
- assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"i"}}, "test"=>true}', ses0.to_s
+ h = { 'a' => 'b', 'c' => { 'd' => 'e' }, 'f' => { 'g' => { 'h' => 'i' } }, 'test' => true }
+
+ assert_equal h.to_s, ses0.to_s
res1 = req.get('/', 'HTTP_COOKIE' => cookie)
ses1 = JSON.parse(res1.body)
refute_nil ses1
- assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"j"}}, "test"=>true}', ses1.to_s
+ h = { 'a' => 'b', 'c' => { 'd' => 'e' }, 'f' => { 'g' => { 'h' => 'j' } }, 'test' => true }
+
+ assert_equal h.to_s, ses1.to_s
refute_equal ses0, ses1
end