Files
gentoo/dev-ruby/rbpdf/rbpdf-1.21.4-r1.ebuild
Michael Orlitzky 7fa98ef5fc dev-ruby/rbpdf: fix tests
* Add rmagick fallback for mini_magick in src_test()
* Replace ugly string concat with a heredoc
* Delete a few HTTP tests to avoid the webrick dep

Closes: https://bugs.gentoo.org/979163
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
2026-07-17 23:35:44 -04:00

76 lines
1.7 KiB
Bash

# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby32 ruby33 ruby34"
# Avoid the complexity of the "rake" recipe and run the tests manually.
RUBY_FAKEGEM_RECIPE_TEST=none
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="Ruby on Rails RBPDF plugin"
HOMEPAGE="https://github.com/naitoh/rbpdf"
SRC_URI="https://github.com/naitoh/rbpdf/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
ruby_add_bdepend "test? ( >=dev-ruby/test-unit-3 )"
ruby_add_rdepend "
dev-ruby/actionview
dev-ruby/htmlentities
=dev-ruby/rbpdf-font-1.19*
|| (
(
dev-ruby/marcel
dev-ruby/mini_magick:5
)
dev-ruby/rmagick
)
"
# Two of the tests require png/jpeg support in "magick identify",
# see bug 738784.
BDEPEND+=" test? ( virtual/imagemagick-tools[jpeg,png] )"
all_ruby_prepare() {
default
# Not worth the additional webrick dependency
rm -f test/rbpdf_http_test.rb \
|| die "failed to remove http tests"
# This test is enabled automagically in the presence of rmagick and
# fails.
rm -f test/rbpdf_image_rmagick_test.rb \
|| die "failed to remove rmagick tests"
}
each_ruby_test() {
# WARNING: The "gem" statements in this script may need to be
# updated along with [BR]DEPEND.
cat <<- EOF > "${T}/run-tests.rb" || die "test script cat failed"
require "rubygems/errors"
gem "test-unit", ">= 3.0"
begin
gem "mini_magick", "~> 5.0"
rescue LoadError
gem "rmagick"
end
require "test/unit"
Dir["test/rbpdf_*.rb"].each{|f| require("./" + f)}
EOF
${RUBY} -Ilib:.:test "${T}/run-tests.rb" || die "test suite failed"
}