diff --git a/.gitignore b/.gitignore index c3ab02c..59478fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,16 @@ -/aruba-*.gem -/rubygem-aruba-*-testsuite.tar.gz +/aruba-0.4.11.gem +/aruba-0.5.2.gem +/aruba-0.5.4.gem +/aruba-0.6.0.gem +/aruba-0.6.2.gem +/aruba-0.14.2.gem +/aruba-0.14.3.gem +/aruba-0.14.5.gem +/aruba-0.14.6.gem +/aruba-0.14.7.gem +/aruba-0.14.8.gem +/aruba-0.14.9.gem +/aruba-0.14.11.gem +/aruba-0.14.12.gem +/aruba-0.14.13.gem +/aruba-0.14.14.gem diff --git a/aruba-create-test-suite-tarball.sh b/aruba-create-test-suite-tarball.sh deleted file mode 100644 index 3a1ce57..0000000 --- a/aruba-create-test-suite-tarball.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -if [ $# -lt 1 ] -then - echo "$0 " - exit 1 -fi - -set -x -set -e - -GEMNAME=aruba -CURRDIR=$(pwd) -VERSION=$1 - -TMPDIRPATH=$(mktemp -d /var/tmp/${GEMNAME}-tar-XXXXXX) -pushd $TMPDIRPATH - -git clone https://github.com/cucumber/${GEMNAME}.git -pushd ${GEMNAME} -git reset --hard v${VERSION} -popd - -ln -sf ${GEMNAME} ${GEMNAME}-${VERSION} -tar czf ${CURRDIR}/rubygem-${GEMNAME}-${VERSION}-testsuite.tar.gz \ - ${GEMNAME}-${VERSION}/{features,fixtures,spec} - -popd - -rm -rf $TMPDIRPATH diff --git a/aruba-disable-test-that-do-not-actually-test-output.patch b/aruba-disable-test-that-do-not-actually-test-output.patch new file mode 100644 index 0000000..d4e639c --- /dev/null +++ b/aruba-disable-test-that-do-not-actually-test-output.patch @@ -0,0 +1,43 @@ +commit 3f8ed748d73fa9d39fe163f14540a7ef2a53a5c1 +Author: Jarl Friis +Date: Fri Oct 12 23:28:31 2012 +0200 + + These tests are actually not testing output from the process anyway, because the process is actually never started. + +diff --git a/features/exit_statuses.feature b/features/exit_statuses.feature +index 5c5dffe..b971152 100644 +--- a/features/exit_statuses.feature ++++ b/features/exit_statuses.feature +@@ -30,13 +30,3 @@ Feature: exit statuses + Scenario: Unsuccessfully run something + When I do aruba I successfully run `ruby -e 'exit 10'` + Then aruba should fail with "Exit status was 10" +- +- @posix +- Scenario: Try to run something that doesn't exist +- When I run `does_not_exist` +- Then the exit status should be 1 +- +- @posix +- Scenario: Try to run something that doesn't exist with ` +- When I run `does_not_exist` +- Then the exit status should be 1 +diff --git a/features/output.feature b/features/output.feature +index 35b931d..f577d26 100644 +--- a/features/output.feature ++++ b/features/output.feature +@@ -5,14 +5,6 @@ Feature: Output + I want to use the "the output should contain" step + + @posix +- Scenario: Run unknown command +- When I run `neverever gonna work` +- Then the output should contain: +- """ +- No such file or directory - neverever +- """ +- +- @posix + Scenario: Detect subset of one-line output + When I run `ruby -e 'puts \"hello world\"'` + Then the output should contain "hello world" diff --git a/aruba-downgrade-childprocess-dependency.patch b/aruba-downgrade-childprocess-dependency.patch new file mode 100644 index 0000000..de6d093 --- /dev/null +++ b/aruba-downgrade-childprocess-dependency.patch @@ -0,0 +1,32 @@ +--- specifications/aruba-0.4.11.gemspec.orig 2012-04-19 08:35:59.000000000 +0200 ++++ specifications/aruba-0.4.11.gemspec 2012-04-19 08:38:14.294458217 +0200 +@@ -20,8 +20,7 @@ + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 1.1.1"]) +- s.add_runtime_dependency(%q, [">= 0.2.3"]) ++ s.add_runtime_dependency(%q, [">= 0.2.0"]) +- s.add_runtime_dependency(%q, [">= 1.0.11"]) + s.add_runtime_dependency(%q, [">= 2.7.0"]) + s.add_development_dependency(%q, [">= 0.6.1"]) + s.add_development_dependency(%q, [">= 1.6.8"]) +@@ -28,8 +28,7 @@ + s.add_development_dependency(%q, [">= 0.9.2"]) + else + s.add_dependency(%q, [">= 1.1.1"]) +- s.add_dependency(%q, [">= 0.2.3"]) ++ s.add_dependency(%q, [">= 0.2.0"]) +- s.add_dependency(%q, [">= 1.0.11"]) + s.add_dependency(%q, [">= 2.7.0"]) + s.add_dependency(%q, [">= 0.6.1"]) + s.add_dependency(%q, [">= 1.6.8"]) +@@ -37,8 +37,7 @@ + end + else + s.add_dependency(%q, [">= 1.1.1"]) +- s.add_dependency(%q, [">= 0.2.3"]) ++ s.add_dependency(%q, [">= 0.2.0"]) +- s.add_dependency(%q, [">= 1.0.11"]) + s.add_dependency(%q, [">= 2.7.0"]) + s.add_dependency(%q, [">= 0.6.1"]) + s.add_dependency(%q, [">= 1.6.8"]) diff --git a/rubygem-aruba-2.0.0-make-bundler-optional.patch b/rubygem-aruba-2.0.0-make-bundler-optional.patch deleted file mode 100644 index d488572..0000000 --- a/rubygem-aruba-2.0.0-make-bundler-optional.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- 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' - - module Aruba - module Api -@@ -8,6 +7,19 @@ module Aruba - - # Unset variables used by bundler - def unset_bundler_env_vars -+ begin -+ require "bundler" -+ unset_bundler_env_vars_new -+ rescue LoadError -+ %w[RUBYOPT BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE].each do |key| -+ delete_environment_variable(key) -+ end -+ end -+ end -+ -+ private -+ -+ def unset_bundler_env_vars_new - empty_env = with_environment { with_unbundled_env { ENV.to_h } } - aruba_env = aruba.environment.to_h - (aruba_env.keys - empty_env.keys).each do |key| -@@ -18,8 +30,6 @@ module Aruba - end - end - -- private -- - def with_unbundled_env(&block) - if ::Bundler.respond_to?(:with_unbundled_env) - ::Bundler.with_unbundled_env(&block) diff --git a/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch b/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch deleted file mode 100644 index 93994cf..0000000 --- a/rubygem-aruba-2.3.1-diff-lcs-1_6-change.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bd2aea600f7e989e4da734c3e823c3ce12ce629b Mon Sep 17 00:00:00 2001 -From: Matijs van Zuijlen -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! - """ diff --git a/rubygem-aruba.spec b/rubygem-aruba.spec index 2f9f1eb..4111dd9 100644 --- a/rubygem-aruba.spec +++ b/rubygem-aruba.spec @@ -1,250 +1,156 @@ # Generated from aruba-0.4.11.gem by gem2rpm -*- rpm-spec -*- -%global gem_name aruba +%global gem_name aruba -Summary: CLI Steps for Cucumber, hand-crafted for you in Aruba -Name: rubygem-%{gem_name} -Version: 2.3.3 -Release: 1%{?dist} - -# SPDX confirmed -# templates/, jquery.js existed on 0.14.14, no longer included in 2.0 and above -License: MIT -URL: https://github.com/cucumber/aruba -Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem -Source1: %{name}-%{version}-testsuite.tar.gz -# Source1 is created by $ bash %%SOURCE2 %%VERSION -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 - - -BuildRequires: ruby(release) -BuildRequires: rubygems-devel -BuildRequires: ruby -# For %%check -BuildRequires: rubygem(childprocess) -BuildRequires: rubygem(contracts) -BuildRequires: rubygem(cucumber) -BuildRequires: rubygem(irb) -BuildRequires: rubygem(minitest) -BuildRequires: rubygem(rspec) >= 3 -BuildRequires: rubygem(thor) -BuildRequires: less - -BuildArch: noarch +Summary: CLI Steps for Cucumber, hand-crafted for you in Aruba +Name: rubygem-%{gem_name} +Version: 0.14.14 +Release: 7%{?dist} +# aruba itself is MIT +# icons in templates/images are CC-BY +# jquery.js itself is MIT or GPLv2 +# jquery.js includes sizzle.js, which is MIT or BSD or GPLv2 +License: MIT and CC-BY and (MIT or GPLv2) and (MIT or BSD or GPLv2) +URL: http://github.com/cucumber/aruba +Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby +BuildRequires: rubygem(cucumber) >= 1.3.19 +BuildRequires: rubygem(childprocess) >= 0.5.6 +BuildRequires: rubygem(ffi) >= 1.9.10 +BuildRequires: rubygem(minitest) +BuildRequires: rubygem(pry) +BuildRequires: rubygem(rspec) >= 3 +BuildRequires: rubygem(contracts) >= 0.9 +BuildRequires: rubygem(thor) >= 0.19 +BuildRequires: rubygem(irb) +# features/steps/command/shell.feature:97 # Scenario: Running python commands +BuildRequires: /usr/bin/python3 +BuildArch: noarch %description Aruba is Cucumber extension for Command line applications written in any programming language. -%package doc -Summary: Documentation for %{name} -Requires: %{name} = %{version}-%{release} -BuildArch: noarch +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch %description doc Documentation for %{name} %prep -%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 -%patch -P1 -p1 -%patch -P2 -p1 -R +%setup -q -n %{gem_name}-%{version} -mv ../%{gem_name}-%{version}.gemspec . - -# Relax cucumber dependency -# Partially revert https://github.com/cucumber/aruba/pull/906 -sed -i '\@cucumber@s|>= 8.0|>= 7.0|' %{gem_name}-%{version}.gemspec -# Remove bundler dependency harder -sed -i '\@dependency.*bundler@d' %{gem_name}-%{version}.gemspec +%gemspec_remove_dep -g childprocess '>= 0.6.3' %build -gem build %{gem_name}-%{version}.gemspec +gem build ../%{gem_name}-%{version}.gemspec %gem_install + %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ - %{buildroot}%{gem_dir}/ + %{buildroot}%{gem_dir}/ rm -f %{buildroot}%{gem_cache} +pushd %{buildroot}%{gem_instdir} +rm -rf \ + .[^.]* \ + Gemfile \ + Rakefile \ + appveyor.yml \ + %{gem_name}.gemspec \ + cucumber.yml \ + config/ \ + fixtures/ \ + spec/ \ + script/ \ + %{nil} %check -pushd %{gem_name}-%{version} -for f in * -do - basef=$(basename $f) - target=../%{gem_instdir}/${basef} - unlink $target || true - ln -sf $(pwd)/$f $target -done -popd - pushd .%{gem_instdir} +# Drop the fuubar dependency. +rm .rspec # We don't care about code coverage. +# We don't need Bundler. sed -i spec/spec_helper.rb \ - -e '\@[sS]imple[Cc]ov@d' \ - %{nil} + -e '\@[sS]imple[Cc]ov@d' \ + -e '\@[Bb]undler@d' \ + %{nil} -env RUBYOPT=-rtime \ - rspec spec +RUBYOPT=-rtime rspec spec # We don't care about code coverage. sed -i features/support/env.rb \ - -e '\@require.*simplecov@d' + -e '\@require.*simplecov@d' > features/support/simplecov_setup.rb # Let the test cli-app find Aruba. sed -i fixtures/cli-app/spec/spec_helper.rb \ - -e "\@\$LOAD_PATH@s|\.\./\.\./lib|$(pwd)/lib|" + -e "\@\$LOAD_PATH@s|\.\./\.\./lib|$(pwd)/lib|" -# Kill tests which requires python explicitly -# (to reduce BR, anyway this test is not important) -sed -i features/step_definitions/hooks.rb \ - -e '\@platform.which@s|"python"|"no-python"|' +# /usr/bin/python is reporting deprecation warning :/ +# No need to modify @requires-python (in run_commands.feature and hooks.rb) +if ! grep -q python3 features/steps/command/shell.feature +then + sed -i features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature \ + -e 's|python|python3|' + sed -i lib/aruba/generators/script_file.rb \ + -e '\@interpreter@s|A-Z|A-Z0-9|' + sed -i features/01_getting_started_with_aruba/run_commands.feature \ + -e '\@[^-]python@s|python|python3|' +fi # The following test fails on ppc64le, due to different block size # (expected: 64k actual: 4k), disabling -PPC64_ENV_P=$(uname -m | grep -q ppc64 && echo 0 || echo 1) -if test x"${PPC64_ENV_P}" == x0 -then - mv features/04_aruba_api/filesystem/report_disk_usage.feature{,.skip} -fi +mv features/04_aruba_api/filesystem/report_disk_usage.feature{,.skip} -# Disable bundler tests. -mv features/03_testing_frameworks/cucumber/disable_bundler.feature{,.skip} +# Get rid of Bundler +sed -i Rakefile \ + -e '\@[Bb]undler@d' \ + -e 's|bundle exec ||' \ + %{nil} # 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 \ - -e "\@Scenario: Default value@,\@Scenario@s|/home/|$(echo $HOME)|" + -e "\@Scenario: Default value@,\@Scenario@s|/home/|$(echo $HOME)|" sed -i features/02_configure_aruba/home_directory.feature \ - -e "\@Set to aruba's working directory@,\@Scenario@s|/home/|$(echo $HOME)/|" + -e "\@Set to aruba's working directory@,\@Scenario@s|/home/|$(echo $HOME)/|" # Make the Aruba always awailable. -export CUCUMBER_PUBLISH_QUIET=true -env RUBYOPT=-I$(pwd)/lib cucumber -f progress +RUBYOPT=-I$(pwd)/lib cucumber # Go back the skipped test -if test x"${PPC64_ENV_P}" == x0 -then - mv features/04_aruba_api/filesystem/report_disk_usage.feature{.skip,} -fi -mv features/03_testing_frameworks/cucumber/disable_bundler.feature{.skip,} +mv features/04_aruba_api/filesystem/report_disk_usage.feature{.skip,} + +popd -popd # from .%%{gem_instdir} %files -%dir %{gem_instdir} -%license %{gem_instdir}/LICENSE -%doc %{gem_instdir}/README.md - +%dir %{gem_instdir} +%license %{gem_instdir}/LICENSE +%doc %{gem_instdir}/README.md %{gem_libdir} -%{gem_instdir}/exe +%{gem_instdir}/bin/ +%exclude %{gem_instdir}/config %{gem_spec} %files doc -%doc %{gem_docdir} -%doc %{gem_instdir}/CONTRIBUTING.md -%doc %{gem_instdir}/CHANGELOG.md +%doc %{gem_docdir} +%doc %{gem_instdir}/CONTRIBUTING.md +%doc %{gem_instdir}/CHANGELOG.md +%doc %{gem_instdir}/TODO.md +%{gem_instdir}/doc/ +%{gem_instdir}/features/ +%{gem_instdir}/templates/ %changelog -* Sat Dec 06 2025 Mamoru TASAKA - 2.3.3-1 -- 2.3.3 - -* Sun Sep 14 2025 Mamoru TASAKA - 2.3.2-1 -- 2.3.2 - -* Fri Jul 25 2025 Fedora Release Engineering - 2.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Jun 15 2025 Mamoru TASAKA - 2.3.1-1 -- 2.3.1 - -* Sat Jan 18 2025 Fedora Release Engineering - 2.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jan 03 2025 Mamoru TASAKA - 2.3.0-1 -- 2.3.0 - -* Thu Nov 28 2024 Vít Ondruch - 2.2.0-10 -- Drop BR: rubygem(pry) - -* Fri Jul 19 2024 Fedora Release Engineering - 2.2.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Feb 08 2024 Mamoru TASAKA - 2.2.0-8 -- Adjust testsuite for Minitest 5.22.2 - -* Fri Jan 26 2024 Fedora Release Engineering - 2.2.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 2.2.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Dec 27 2023 Mamoru TASAKA - 2.2.0-5 -- Patch for ruby3.3 - -* Thu Nov 9 2023 Mamoru TASAKA - 2.2.0-4 -- Explicitly add BR: less for BR: pry -- Change cucumber publish quiet method - -* Mon Sep 11 2023 Mamoru TASAKA - 2.2.0-2 -- Kill python test entirely to redure BR, it is not important - (related to bug 2237692) - -* Fri Sep 8 2023 Mamoru TASAKA - 2.2.0-1 -- 2.2.0 -- Relax cucumber dependency - -* Fri Jul 21 2023 Fedora Release Engineering - 2.1.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Mar 21 2023 Mamoru TASAKA - 2.1.0-4 -- Correct license tag - -* Fri Jan 20 2023 Fedora Release Engineering - 2.1.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 2.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu May 26 2022 Mamoru TASAKA - 2.1.0-1 -- 2.1.0 - -* Sun Apr 24 2022 Mamoru TASAKA - 2.0.1-1 -- 2.0.1 - -* Fri Jan 21 2022 Fedora Release Engineering - 2.0.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jan 19 2022 Mamoru TASAKA - 2.0.0-3 -- Use upstream patch for rspec-core rspec test suite issue - (Gem.win_platform? related) - -* Fri Jan 14 2022 Mamoru TASAKA - 2.0.0-2 -- Make bundler optional again -- Workaround patch to make rspec-core test suite pass -- Some cleanup - -* Mon Sep 06 2021 Pavel Valena - 2.0.0-1 -- Update to aruba 2.0.0 - * Fri Jul 23 2021 Fedora Release Engineering - 0.14.14-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 01de0ee..9fa2664 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (aruba-2.3.3.gem) = 4892651a703d0b2badf15a7f45e461ab1478e53d290fc39e7b0a3fa2a4c4830754bdcabddb38ba3e161bd34071da85aad4f56ccaea5ff8b37a5d74ae1e7ca8c2 -SHA512 (rubygem-aruba-2.3.3-testsuite.tar.gz) = a2aa74d9c920dbc3b9709358f5e219886e54f92b85b34de15bd9614308dccd48a3f97bed2f286e8e4dc520259e63063d167a74d72ed70a0635cb8c7348ccb175 +SHA512 (aruba-0.14.14.gem) = 612b742bdf89e0272714d709a772eded1c61c654977bb58f7e6e5ef5a8b29dece848bf3c70aa6bc566e6c2a75b3e39e637fa5e37f869fbf4bf3d0997257df9f7