Use upstream patch for rspec-core rspec test suite issue

(Gem.win_platform? related)
f38
Mamoru TASAKA 3 years ago
parent 153e38e775
commit 490a647626

@ -0,0 +1,74 @@
From 01f468c61eecc83d931cb56434394770557c60c7 Mon Sep 17 00:00:00 2001
From: Matijs van Zuijlen <matijs@matijs.net>
Date: Sun, 16 Jan 2022 11:29:55 +0100
Subject: [PATCH] Ensure Gem.win_platform? is available
Even though rubygems is nearly always loaded by ruby automatically, it
is possible to avoid doing so. Therefore, to make platform detection
work, we have to require "rubygems" explicitly.
---
lib/aruba/platforms/unix_platform.rb | 1 +
spec/aruba/platforms/unix_platform_spec.rb | 18 ++++++++++++++++++
spec/aruba/platforms/windows_platform_spec.rb | 18 ++++++++++++++++++
3 files changed, 37 insertions(+)
create mode 100644 spec/aruba/platforms/unix_platform_spec.rb
create mode 100644 spec/aruba/platforms/windows_platform_spec.rb
diff --git a/lib/aruba/platforms/unix_platform.rb b/lib/aruba/platforms/unix_platform.rb
index 2831bbb26..51f653ff9 100644
--- a/lib/aruba/platforms/unix_platform.rb
+++ b/lib/aruba/platforms/unix_platform.rb
@@ -1,4 +1,5 @@
require "rbconfig"
+require "rubygems"
require "pathname"
require "aruba/aruba_path"
diff --git a/spec/aruba/platforms/unix_platform_spec.rb b/spec/aruba/platforms/unix_platform_spec.rb
new file mode 100644
index 000000000..75718f726
--- /dev/null
+++ b/spec/aruba/platforms/unix_platform_spec.rb
@@ -0,0 +1,18 @@
+require "spec_helper"
+require "aruba/platforms/unix_platform"
+
+RSpec.describe Aruba::Platforms::UnixPlatform do
+ include_context "uses aruba API"
+
+ describe ".match?" do
+ it "works even when ruby is launched with --disable-gems and --disable-rubyopt" do
+ aruba_lib = File.expand_path("../../../lib", __dir__)
+ run_command_and_stop(
+ "ruby --disable-rubyopt --disable-gems -I#{aruba_lib}" \
+ " -e 'require \"aruba/platforms/unix_platform\";" \
+ " Aruba::Platforms::UnixPlatform.match?;'"
+ )
+ expect(last_command_started).to be_successfully_executed
+ end
+ end
+end
diff --git a/spec/aruba/platforms/windows_platform_spec.rb b/spec/aruba/platforms/windows_platform_spec.rb
new file mode 100644
index 000000000..5ae02e8ab
--- /dev/null
+++ b/spec/aruba/platforms/windows_platform_spec.rb
@@ -0,0 +1,18 @@
+require "spec_helper"
+require "aruba/platforms/windows_platform"
+
+RSpec.describe Aruba::Platforms::WindowsPlatform do
+ include_context "uses aruba API"
+
+ describe ".match?" do
+ it "works even when ruby is launched with --disable-gems and --disable-rubyopt" do
+ aruba_lib = File.expand_path("../../../lib", __dir__)
+ run_command_and_stop(
+ "ruby --disable-rubyopt --disable-gems -I#{aruba_lib}" \
+ " -e 'require \"aruba/platforms/windows_platform\";" \
+ " Aruba::Platforms::WindowsPlatform.match?;'"
+ )
+ expect(last_command_started).to be_successfully_executed
+ end
+ end
+end

@ -1,9 +0,0 @@
--- aruba-2.0.0/lib/aruba/platforms/unix_platform.rb.explicit 2021-07-27 04:28:08.000000000 +0900
+++ aruba-2.0.0/lib/aruba/platforms/unix_platform.rb 2022-01-14 15:01:38.513634793 +0900
@@ -1,5 +1,6 @@
require "rbconfig"
require "pathname"
+require "rubygems"
require "aruba/aruba_path"

@ -4,7 +4,7 @@
Summary: CLI Steps for Cucumber, hand-crafted for you in Aruba
Name: rubygem-%{gem_name}
Version: 2.0.0
Release: 2%{?dist}
Release: 3%{?dist}
# aruba itself is MIT
# icons in templates/images are CC-BY
@ -18,8 +18,10 @@ Source1: %{name}-%{version}-testsuite.tar.gz
Source2: %{gem_name}-create-test-suite-tarball.sh
# Make bundler runtime dependency optional
Patch1: rubygem-aruba-2.0.0-make-bundler-optional.patch
# Workaround to make rspec-core rspec test suite pass
Patch2: rubygem-aruba-2.0.0-make-rubygems-dependency-explicit.patch
# Make rspec-core rspec test suite pass
# https://github.com/cucumber/aruba/issues/852
# https://github.com/cucumber/aruba/pull/858
Patch2: rubygem-aruba-2.0.0-ensure-Gem-win_platform-is-available.patch
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
@ -52,7 +54,20 @@ BuildArch: noarch
Documentation for %{name}
%prep
%autosetup -n %{gem_name}-%{version} -p1 -a 1
%setup -q -n %{gem_name}-%{version} -a 1
pushd %{gem_name}-%{version}
for f in *
do
basef=$(basename $f)
target=../${basef}
ln -sf $(pwd)/$f $target
done
# For tests
ln -sf ../lib
popd
%patch1 -p1
%patch2 -p1
mv ../%{gem_name}-%{version}.gemspec .
# Relax childprocess dependency
@ -89,6 +104,8 @@ sed -i spec/spec_helper.rb \
-e '\@[sS]imple[Cc]ov@d' \
%{nil}
# Forcely set
env RUBYOPT=-rtime \
rspec spec
@ -159,6 +176,10 @@ popd # from .%%{gem_instdir}
%doc %{gem_instdir}/CHANGELOG.md
%changelog
* Wed Jan 19 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.0.0-3
- Use upstream patch for rspec-core rspec test suite issue
(Gem.win_platform? related)
* Fri Jan 14 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.0.0-2
- Make bundler optional again
- Workaround patch to make rspec-core test suite pass

Loading…
Cancel
Save