diff options
author | 2023-04-02 23:33:27 +0100 | |
---|---|---|
committer | 2023-04-03 01:46:25 +0100 | |
commit | a8e737d547d3cc3ee0f73cb2010485c2b464bbe2 (patch) | |
tree | ff676ee0a3177e3d45e3c6dd22560a4cd06715ae /dev-ruby/console | |
parent | dev-ruby/nio4r: enable ruby32 (diff) | |
download | gentoo-a8e737d547d3cc3ee0f73cb2010485c2b464bbe2.tar.gz gentoo-a8e737d547d3cc3ee0f73cb2010485c2b464bbe2.tar.bz2 gentoo-a8e737d547d3cc3ee0f73cb2010485c2b464bbe2.zip |
dev-ruby/console: enable ruby32, fix tests
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-ruby/console')
-rw-r--r-- | dev-ruby/console/console-1.16.2-r1.ebuild | 42 | ||||
-rw-r--r-- | dev-ruby/console/files/console-1.16.2-tests.patch | 155 |
2 files changed, 197 insertions, 0 deletions
diff --git a/dev-ruby/console/console-1.16.2-r1.ebuild b/dev-ruby/console/console-1.16.2-r1.ebuild new file mode 100644 index 000000000000..0d935fd76672 --- /dev/null +++ b/dev-ruby/console/console-1.16.2-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby27 ruby30 ruby31 ruby32" + +RUBY_FAKEGEM_EXTRADOC="readme.md" +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="Beautiful logging for Ruby" +HOMEPAGE="https://github.com/socketry/console" +SRC_URI="https://github.com/socketry/console/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +ruby_add_rdepend "dev-ruby/fiber-local" + +ruby_add_bdepend "test? ( dev-ruby/sus )" + +PATCHES=( + "${FILESDIR}"/${P}-tests.patch +) + +all_ruby_prepare() { + sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die + + # Avoid dependency on covered. + rm -f config/sus.rb || die + + # Avoid sandbox violation during tests + sed -i -e 's:/tmp/:'"${TMPDIR}"'/:' test/console/output.rb || die +} + +each_ruby_test() { + ${RUBY} -S sus-parallel || die +} diff --git a/dev-ruby/console/files/console-1.16.2-tests.patch b/dev-ruby/console/files/console-1.16.2-tests.patch new file mode 100644 index 000000000000..cbbaaa69dff1 --- /dev/null +++ b/dev-ruby/console/files/console-1.16.2-tests.patch @@ -0,0 +1,155 @@ +https://github.com/socketry/console/commit/01438b0390ccd0beead0a6ca828a8dd5ffc710b9 +https://github.com/socketry/console/commit/c2121ed574d846361fcc0cfde97f88ad841a306c + +From 01438b0390ccd0beead0a6ca828a8dd5ffc710b9 Mon Sep 17 00:00:00 2001 +From: Samuel Williams <samuel.williams@oriontransfer.co.nz> +Date: Fri, 24 Feb 2023 09:28:43 +1300 +Subject: [PATCH] Add log level tests. + +--- a/test/console.rb ++++ b/test/console.rb +@@ -10,7 +10,7 @@ + + describe Console do + it "has a version number" do +- expect(Console::VERSION).not.to be nil ++ expect(Console::VERSION).to be =~ /\d+\.\d+\.\d+/ + end + + with MyModule do +--- a/test/console/compatible/logger.rb ++++ b/test/console/compatible/logger.rb +@@ -37,4 +37,9 @@ + + expect(io.string).to be(:include?, "Hello World") + end ++ ++ it "has a default log level" do ++ expect(logger.level).to be_a(Integer) ++ expect(logger.level).to be == ::Logger::DEBUG ++ end + end + +From c2121ed574d846361fcc0cfde97f88ad841a306c Mon Sep 17 00:00:00 2001 +From: Samuel Williams <samuel.williams@oriontransfer.co.nz> +Date: Fri, 24 Feb 2023 18:26:17 +1300 +Subject: [PATCH] Fix tests when run interactively and incrementally. + +--- a/lib/console/terminal/logger.rb ++++ b/lib/console/terminal/logger.rb +@@ -6,6 +6,7 @@ + + require_relative '../buffer' + require_relative '../event' ++require_relative '../clock' + + require_relative 'text' + require_relative 'xterm' +--- a/test/console/capture.rb ++++ b/test/console/capture.rb +@@ -4,6 +4,7 @@ + # Copyright, 2020-2022, by Samuel Williams. + + require 'console/capture' ++require 'console/logger' + + describe Console::Capture do + let(:capture) {subject.new} +--- a/test/console/compatible/logger.rb ++++ b/test/console/compatible/logger.rb +@@ -4,6 +4,7 @@ + # Copyright, 2022, by Samuel Williams. + + require 'console/compatible/logger' ++require 'console/terminal/logger' + + describe Console::Compatible::Logger do + let(:io) {StringIO.new} +--- a/test/console/logger.rb ++++ b/test/console/logger.rb +@@ -70,15 +70,6 @@ + end + end + +- Console::Logger::LEVELS.each do |name, level| +- it "can log #{name} messages" do +- expect(output).to receive(:call).with(message, severity: name) +- +- logger.level = level +- logger.send(name, message) +- end +- end +- + with '#enable' do + let(:object) {Object.new} + +@@ -94,23 +85,34 @@ + end + + Console::Logger::LEVELS.each do |name, level| +- with '#off!', unique: name do +- it "doesn't log #{name} messages" do +- logger.off! ++ with "log level #{name}", unique: name do ++ with "#send" do ++ it "can log #{name} messages" do ++ expect(output).to receive(:call).with(message, severity: name) + +- expect(output).not.to receive(:call) +- logger.send(name, message) +- expect(logger.send("#{name}?")).to be == false ++ logger.level = level ++ logger.send(name, message) ++ end + end +- end +- +- with '#all!', unique: name do +- it "can log #{name} messages" do +- logger.all! +- +- expect(output).to receive(:call).with(message, severity: name) +- logger.send(name, message) +- expect(logger.send("#{name}?")).to be == true ++ ++ with '#off!' do ++ it "doesn't log #{name} messages" do ++ logger.off! ++ ++ expect(output).not.to receive(:call) ++ logger.send(name, message) ++ expect(logger.send("#{name}?")).to be == false ++ end ++ end ++ ++ with '#all!' do ++ it "can log #{name} messages" do ++ logger.all! ++ ++ expect(output).to receive(:call).with(message, severity: name) ++ logger.send(name, message) ++ expect(logger.send("#{name}?")).to be == true ++ end + end + end + end +--- a/test/console/resolver.rb ++++ b/test/console/resolver.rb +@@ -4,6 +4,7 @@ + # Copyright, 2019-2022, by Samuel Williams. + # Copyright, 2021, by Robert Schulze. + ++require 'console' + require 'console/resolver' + require 'resolver_classes' + +--- a/test/console/serialized/logger.rb ++++ b/test/console/serialized/logger.rb +@@ -4,6 +4,7 @@ + # Copyright, 2019-2022, by Samuel Williams. + + require 'console/serialized/logger' ++require 'console/event/spawn' + + describe Console::Serialized::Logger do + let(:io) {StringIO.new} |