Compare commits

..

No commits in common. "rawhide" and "f41" have entirely different histories.

5 changed files with 164 additions and 76 deletions

140
aruba-pr914-ruby33.patch Normal file
View file

@ -0,0 +1,140 @@
From bdf5edee50d6fda19a05147d1269370340b642c4 Mon Sep 17 00:00:00 2001
From: Matijs van Zuijlen <matijs@matijs.net>
Date: Fri, 8 Dec 2023 16:10:57 +0100
Subject: [PATCH 2/4] Use plain irb in debugging scenario
In Ruby 3.3, requiring readline does not load the real readline library
but falls back to reline by default. This creates odd output when the
terminal is not a real TTY and a prompt is used when getting input.
Because pry uses a prompt, this makes the interactive debugging scenario
fail.
This change works around this issue by switching to irb. Irb will not
use a prompt, possibly because the output is not a TTY.
See https://github.com/cucumber/aruba/issues/910. Also, see
https://github.com/ruby/reline/issues/616 for the resulting reline
issue.
---
.../command/debug_your_command_in_aruba.feature | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature b/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature
index 1c7bbc1cd..7a0f2785f 100644
--- a/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature
+++ b/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature
@@ -10,19 +10,15 @@ Feature: Debug your command in cucumber-test-run
Scenario: You can use a debug repl in your cli program
If you want to debug an error, which only occurs in one of your
- `cucumber`-tests, the `@debug`-tag becomes handy. This will use the
+ Cucumber tests, the `@debug`-tag becomes handy. This will use the
DebugProcess runner, making your program use the default stdin, stdout and
stderr streams so you can interact with it directly.
- This will, for example, make `binding.pry` and `byebug` work in your
+ This will, for example, make `binding.irb` and `byebug` work in your
program. However, Aruba steps that access the input and output of your
program will not work.
- Please make sure, that there's a statement after the `binding.pry`-call.
- Otherwise you might not get an interactive shell, because your program will
- just exit.
-
- We are going to demonstrate this using `pry`, but any other interactive
+ We are going to demonstrate this using `irb`, but any other interactive
debugger for any other programming language should also work.
Given an executable named "bin/aruba-test-cli" with:
@@ -27,8 +27,7 @@ Feature: Debug your command in cucumber-test-run
foo = 'hello'
- require 'pry'
- binding.pry
+ binding.irb
exit 0
"""
@@ -44,9 +43,9 @@ Feature: Debug your command in cucumber-test-run
And I type "exit"
Then the output should contain:
"""
- [1] pry(main)> foo
- => "hello"
- [2] pry(main)> exit
+ foo
+ "hello"
+ exit
"""
Scenario: Can handle announcers
From 2837d30ca5c32c7dca9333242fe8da7db6f8e753 Mon Sep 17 00:00:00 2001
From: Matijs van Zuijlen <matijs@matijs.net>
Date: Sun, 24 Dec 2023 08:15:31 +0100
Subject: [PATCH 3/4] Stop requiring 'irb/ext/save-history' extension in Aruba
console
See https://github.com/ruby/irb/pull/623. The file was removed and the
corresponding feature should be activated by setting :EVAL_HISTORY.
---
lib/aruba/console.rb | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/aruba/console.rb b/lib/aruba/console.rb
index ba8c680c1..3bd200ce5 100644
--- a/lib/aruba/console.rb
+++ b/lib/aruba/console.rb
@@ -29,7 +29,6 @@ def start
IRB.conf[:RC] = false
require "irb/completion"
- require "irb/ext/save-history"
IRB.conf[:READLINE] = true
IRB.conf[:SAVE_HISTORY] = 1000
IRB.conf[:HISTORY_FILE] = Aruba.config.console_history_file
From fd45d9e794ee880bf8c9f750ad6b7b3bbcaee400 Mon Sep 17 00:00:00 2001
From: Matijs van Zuijlen <matijs@matijs.net>
Date: Sun, 24 Dec 2023 09:19:34 +0100
Subject: [PATCH 4/4] Ensure irb uses a consistent prompt format in tests on
all Ruby versions
The default prompt format for irb changed in Ruby 3.3. Using the classic
format instead ensures the same result is achieved in all Ruby versions.
---
.../steps/command/wait_for_output_of_command.feature | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/features/03_testing_frameworks/cucumber/steps/command/wait_for_output_of_command.feature b/features/03_testing_frameworks/cucumber/steps/command/wait_for_output_of_command.feature
index 0bf83f010..749d3f37a 100644
--- a/features/03_testing_frameworks/cucumber/steps/command/wait_for_output_of_command.feature
+++ b/features/03_testing_frameworks/cucumber/steps/command/wait_for_output_of_command.feature
@@ -12,7 +12,7 @@ Feature: Wait for output of commands
"""cucumber
Feature: Run command
Scenario: Run command
- When I run `irb --prompt default` interactively
+ When I run `irb --prompt classic` interactively
And I wait for output to contain "irb"
And I type "puts 6 + 5"
And I type "exit"
@@ -32,7 +32,7 @@ Feature: Wait for output of commands
"""cucumber
Feature: Run command
Scenario: Run command
- When I run `irb --prompt default` interactively
+ When I run `irb --prompt classic` interactively
And I wait for output to contain:
\"\"\"
irb(main):001:0>
@@ -49,7 +49,7 @@ Feature: Wait for output of commands
"""cucumber
Feature: Run command
Scenario: Run command
- When I run `irb --prompt default` interactively
+ When I run `irb --prompt classic` interactively
And I wait for output to contain:
\"\"\"
irb(main):001:0>

View file

@ -1,10 +1,8 @@
--- aruba-2.0.0/lib/aruba/api/bundler.rb.make_optional 2021-07-27 04:28:08.000000000 +0900
+++ aruba-2.0.0/lib/aruba/api/bundler.rb 2022-01-14 14:40:50.369324292 +0900
@@ -1,7 +1,6 @@
# frozen_string_literal: true
require 'aruba/api/environment'
-require 'bundler'
@@ -1,5 +1,4 @@
require "aruba/api/environment"
-require "bundler"
module Aruba
module Api

View file

@ -1,42 +0,0 @@
From bd2aea600f7e989e4da734c3e823c3ce12ce629b Mon Sep 17 00:00:00 2001
From: Matijs van Zuijlen <matijs@matijs.net>
Date: Sun, 6 Apr 2025 23:32:36 +0200
Subject: [PATCH] Update expected diff output to match changes in diff-lcs
Version 1.6.0 of diff-lcs included a bug fix that corrects the hunk
ranges it outputs. This change bumps the minimum version of diff-lcs to
1.6.0 so this change is sure to be included, and updates the
expectations in the cucumber scenarios that depend on exact diff-lcs
output.
---
aruba.gemspec | 1 +
.../cucumber/steps/command/check_output_of_command.feature | 2 +-
.../cucumber/steps/command/check_stderr_of_command.feature | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature b/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature
index 3266514b..1f0d1997 100644
--- a/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature
+++ b/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature
@@ -353,7 +353,7 @@ Feature: All output of commands which were executed
world" to output string is eq: "hello
worl"
Diff:
- @@ -1,3 +1,3 @@
+ @@ -1,2 +1,2 @@
hello
-worl
+world
diff --git a/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature b/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature
index cc0e7aad..d3b4c9a9 100644
--- a/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature
+++ b/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature
@@ -82,7 +82,7 @@ Feature: STDERR of commands which were executed
expected "hello
world!" to output string is eq: ""
Diff:
- @@ -1,2 +1,4 @@
+ @@ -0,0 +1,2 @@
+hello
+world!
"""

View file

@ -3,8 +3,8 @@
Summary: CLI Steps for Cucumber, hand-crafted for you in Aruba
Name: rubygem-%{gem_name}
Version: 2.3.3
Release: 1%{?dist}
Version: 2.2.0
Release: 9%{?dist}
# SPDX confirmed
# templates/, jquery.js existed on 0.14.14, no longer included in 2.0 and above
@ -16,9 +16,9 @@ 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
# https://github.com/cucumber/aruba/commit/bd2aea600f7e989e4da734c3e823c3ce12ce629b
# We still use diff-lcs 1.5, revert the above patch for now
Patch2: rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch
# https://github.com/cucumber/aruba/pull/914
# Patch for ruby3.3
Patch2: aruba-pr914-ruby33.patch
BuildRequires: ruby(release)
@ -30,6 +30,7 @@ BuildRequires: rubygem(contracts)
BuildRequires: rubygem(cucumber)
BuildRequires: rubygem(irb)
BuildRequires: rubygem(minitest)
BuildRequires: rubygem(pry)
BuildRequires: rubygem(rspec) >= 3
BuildRequires: rubygem(thor)
BuildRequires: less
@ -62,7 +63,7 @@ done
ln -sf ../lib
popd
%patch -P1 -p1
%patch -P2 -p1 -R
%patch -P2 -p1
mv ../%{gem_name}-%{version}.gemspec .
@ -129,6 +130,18 @@ fi
# Disable bundler tests.
mv features/03_testing_frameworks/cucumber/disable_bundler.feature{,.skip}
# Output changed with minitest 5.22.2, adjusting
# https://github.com/cucumber/aruba/issues/920
status=$(ruby -e "require 'minitest'; p Minitest::VERSION >= '5.22.0'")
if [ $status == "true" ] ; then
sed -i features/06_use_aruba_cli/initialize_project_with_aruba.feature \
-e 's|0 runs, 0 assertions, 0 failures, 0 errors, 0 skips|create test/use_aruba_with_minitest.rb|' \
%{nil}
sed -i features/01_getting_started_with_aruba/supported_testing_frameworks.feature \
-e '\@-Ilib:test test/use_aruba_with_minitest.rb@,$s|the tests should all pass|the exit status should be 0|' \
%{nil}
fi
# Adjust test cases referring to $HOME.
sed -i features/04_aruba_api/core/expand_path.feature -e "s|/home/\[\^/\]+|$(echo $HOME)|"
sed -i features/02_configure_aruba/home_directory.feature \
@ -164,27 +177,6 @@ popd # from .%%{gem_instdir}
%doc %{gem_instdir}/CHANGELOG.md
%changelog
* Sat Dec 06 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.3.3-1
- 2.3.3
* Sun Sep 14 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.3.2-1
- 2.3.2
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jun 15 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.3.1-1
- 2.3.1
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jan 03 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.3.0-1
- 2.3.0
* Thu Nov 28 2024 Vít Ondruch <vondruch@redhat.com> - 2.2.0-10
- Drop BR: rubygem(pry)
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

View file

@ -1,2 +1,2 @@
SHA512 (aruba-2.3.3.gem) = 4892651a703d0b2badf15a7f45e461ab1478e53d290fc39e7b0a3fa2a4c4830754bdcabddb38ba3e161bd34071da85aad4f56ccaea5ff8b37a5d74ae1e7ca8c2
SHA512 (rubygem-aruba-2.3.3-testsuite.tar.gz) = a2aa74d9c920dbc3b9709358f5e219886e54f92b85b34de15bd9614308dccd48a3f97bed2f286e8e4dc520259e63063d167a74d72ed70a0635cb8c7348ccb175
SHA512 (aruba-2.2.0.gem) = 61f87f9aa98b583359e7d00c3bc7e2302ba5ecc925dc6216dd15e03967a072be0f076f31abd9f756fb8bf31781191e23ca47d2858f832f020633cd65e408298c
SHA512 (rubygem-aruba-2.2.0-testsuite.tar.gz) = 22d3caeb01885cbc4669af5f162d09c58d8259c393f9c74fbb8358a312f28570ec0f2aeeb97ba7923da0b24d9bc07772721e119b2b9d674c6767cfdb0221c501