+ set -e + set -o pipefail ++ dirname ./run.sh + cd . + echo 2216361 + echo '1.76.0 b3716515a' 1.76.0 b3716515a + date Fri Feb 9 03:40:51 PM CET 2024 + uptime 15:40:51 up 148 days, 19:54, 0 users, load average: 7.28, 6.92, 7.12 + head=git@github.com:cqfn/pdd.git + ff=default + image=yegor256/rultor-image:1.22.0 + rebase=false + squash=false + head_branch=master + author=yegor256 + tag=0.24.0 + vars=('--env=head=git@github.com:cqfn/pdd.git' '--env=tag=0.24.0' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:cqfn/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.24.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/pdd/version.rb'\'' '\'';'\'' '\''git add lib/pdd/version.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build pdd.gemspec'\'' '\'';'\'' '\''chmod 0600 ../rubygems.yml'\'' '\'';'\'' '\''gem push *.gem --config-file ../rubygems.yml'\'' '\'';'\'' )' '--env=head_branch=master' '--env=author=yegor256') + scripts=('export '\''head=git@github.com:cqfn/pdd.git'\''' ';' 'export '\''tag=0.24.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' '[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1' ';' 'bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/pdd/version.rb' ';' 'git add lib/pdd/version.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build pdd.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';') + directory= + container=cqfn_pdd_223 + as_root=false + hostname b3.rultor.com + pwd /tmp/rultor-DJ0o + git --version git version 2.34.1 + docker --version Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1 + mkdir -p /home/rultor/.ssh + echo -e 'Host github.com\n\tStrictHostKeyChecking no\n' + chmod 600 /home/rultor/.ssh/config + git clone git@github.com:cqfn/pdd.git repo Cloning into 'repo'... + cd repo + git config user.email me@rultor.com + git config user.name rultor + '[' -z 'export '\''head=git@github.com:cqfn/pdd.git'\''' ']' + cd .. + cat + '[' false = true ']' + cat + chmod a+x entry.sh + cat + echo 'export '\''head=git@github.com:cqfn/pdd.git'\''' ';' 'export '\''tag=0.24.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' '[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1' ';' 'bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/pdd/version.rb' ';' 'git add lib/pdd/version.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build pdd.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';' + sensitive=() + rm -rf .gnupg + '[' -z 0.24.0 ']' + [[ 0.24.0 =~ ^[a-zA-Z0-9\.\-]+$ ]] + echo 'tag name is valid: "0.24.0"' tag name is valid: "0.24.0" + cd repo ++ git tag -l 0.24.0 + '[' ']' + export BRANCH_NAME=__rultor + BRANCH_NAME=__rultor ++ git show-branch __rultor ++ wc -l + '[' 0 -gt 0 ']' + git checkout -b __rultor Switched to a new branch '__rultor' + docker_when_possible + true ++ uptime ++ sed 's/ /\n/g' ++ tail -n 1 + load=7.12 ++ echo 7.12 '>' 30 ++ bc + '[' 0 -eq 1 ']' + echo 'load average is 7.12, low enough to run a new Docker container' load average is 7.12, low enough to run a new Docker container + break + cd .. + '[' -n '' ']' + use_image=yegor256/rultor-image:1.22.0 + docker pull yegor256/rultor-image:1.22.0 1.22.0: Pulling from yegor256/rultor-image Digest: sha256:0e360fba8fb992c4c6cb495ddefdf5ecbc0f3edb887dd12deefd4af4b2a13272 Status: Image is up to date for yegor256/rultor-image:1.22.0 docker.io/yegor256/rultor-image:1.22.0 + docker ps --filter=status=exited + grep --quiet '\scqfn_pdd_223\s*$' + ls -al . total 48 drwx------ 3 rultor rultor 4096 Feb 9 15:40 . drwxrwxrwt 16 root root 4096 Feb 9 15:40 .. -rwxrwxr-x 1 rultor rultor 556 Feb 9 15:40 end.sh -rwxrwxr-x 1 rultor rultor 466 Feb 9 15:40 entry.sh -rw-rw-r-- 1 rultor rultor 8 Feb 9 15:40 pid drwxrwxr-x 11 rultor rultor 4096 Feb 9 15:40 repo -rw-rw-r-- 1 rultor rultor 81 Feb 9 15:40 rubygems.yml -rwxrwxr-x 1 rultor rultor 6033 Feb 9 15:40 run.sh -rw-rw-r-- 1 rultor rultor 657 Feb 9 15:40 script.sh -rw-rw-r-- 1 rultor rultor 4156 Feb 9 15:40 stdout ++ pwd ++ pwd + docker run -t --rm -v /tmp/rultor-DJ0o:/main --env=head=git@github.com:cqfn/pdd.git --env=tag=0.24.0 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:cqfn/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.24.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/pdd/version.rb'\'' '\'';'\'' '\''git add lib/pdd/version.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build pdd.gemspec'\'' '\'';'\'' '\''chmod 0600 ../rubygems.yml'\'' '\'';'\'' '\''gem push *.gem --config-file ../rubygems.yml'\'' '\'';'\'' )' --env=head_branch=master --env=author=yegor256 --hostname=docker --privileged --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-DJ0o/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=cqfn_pdd_223 yegor256/rultor-image:1.22.0 /main/entry.sh WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded. Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 + set -e + set -o pipefail + shopt -s dotglob + useradd -m -G sudo r ++ cat /etc/group ++ awk -F : '$3 > 100 { print $1 }' + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G nogroup r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G systemd-journal r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G systemd-network r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G systemd-resolve r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G messagebus r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G systemd-timesync r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G _ssh r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G rvm r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G ssl-cert r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G postgres r + for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }') + usermod -a -G r r + usermod -s /bin/bash r + echo '%sudo ALL=(ALL) NOPASSWD:ALL' + cp -R /root/.bashrc /root/.cargo /root/.config /root/.gem /root/.gemrc /root/.launchpadlib /root/.m2 /root/.npm /root/.profile /root/.rustup /root/.rvmrc /root/texmf /home/r + cp -R ./cid ./end.sh ./entry.sh ./pid ./repo ./rubygems.yml ./run.sh ./script.sh ./stdout /home/r + rm -rf repo + chown -R r:r /home/r + chmod a+x /home/r/script.sh + su --login r --command /home/r/script.sh Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 /usr/local/rvm/gems/ruby-3.2.2/gems/pdd-0.23.1/lib/pdd/version.rb:26: warning: already initialized constant PDD::VERSION /home/r/repo/lib/pdd/version.rb:26: warning: previous definition of VERSION was here Found 26 lines in /home/r/repo/.pdd My version is 0.23.1 Ruby version is 3.2.2 at x86_64-linux Reading from root dir . Excluding .idea/**/* Excluding .bundle/**/* Excluding target/**/* Excluding coverage/**/* Excluding test_assets/**/* Excluding README.md Excluding features/cli.feature Excluding features/parsing.feature Excluding features/catches_broken_puzzles.feature Excluding features/remove.feature Excluding features/uses_config.feature Excluding features/html_output.feature Excluding features/json_output.feature Excluding features/avoiding_duplicates.feature Excluding features/applies_rules.feature Excluding features/unicode.feature Excluding lib/pdd/source.rb Excluding test/test_source.rb Excluding test/test_source_todo.rb Excluding test/test_pdd.rb Excluding src/main/resources/images/**/* /usr/local/rvm/gems/ruby-3.2.2/gems/pdd-0.23.1/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic Reading .0pdd.yml ... Reading .gitattributes ... Reading .github/workflows/codecov.yml ... Reading .github/workflows/pdd.yml ... Reading .github/workflows/rake.yml ... Reading .github/workflows/xcop.yml ... Reading .gitignore ... Reading .overcommit.yml ... Reading .pdd ... Reading .rubocop.yml ... Reading .rultor.yml ... Reading .simplecov ... Reading CITATION.cff ... Reading Gemfile ... Reading LICENSE.txt ... Reading Rakefile ... Reading assets/puzzles.xsd ... Reading assets/puzzles.xsl ... Reading assets/puzzles_json.xsl ... Reading bin/pdd ... Reading cucumber.yml ... Reading features/gem_package.feature ... Reading features/rake.feature ... Reading features/step_definitions/steps.rb ... Reading features/support/env.rb ... Reading lib/pdd/puzzle.rb ... Reading lib/pdd/rake_task.rb ... Reading lib/pdd/rule/duplicates.rb ... Reading lib/pdd/rule/estimates.rb ... Reading lib/pdd/rule/roles.rb ... Reading lib/pdd/rule/text.rb ... Reading lib/pdd/sources.rb ... Reading lib/pdd/version.rb ... Reading lib/pdd.rb ... Reading pdd.gemspec ... Reading test/test__helper.rb ... Reading test/test_duplicates.rb ... Reading test/test_estimates.rb ... Reading test/test_many.rb ... Reading test/test_rake_task.rb ... Reading test/test_roles.rb ... Reading test/test_sources.rb ... Reading test/test_text.rb ... Reading utils/glob.rb ... Fetching gem metadata from https://rubygems.org/........... Resolving dependencies... Using rake 13.0.6 Fetching connection_pool 2.4.1 Using ruby2_keywords 0.0.5 Fetching mutex_m 0.2.0 Fetching crass 1.0.6 Fetching erubi 1.12.0 Fetching racc 1.7.3 Fetching rack 3.0.9 Fetching childprocess 3.0.0 Fetching bigdecimal 3.1.6 Fetching concurrent-ruby 1.2.3 Fetching base64 0.2.0 Fetching minitest 5.16.2 Fetching builder 3.2.4 Installing mutex_m 0.2.0 Installing connection_pool 2.4.1 Installing crass 1.0.6 Installing erubi 1.12.0 Installing base64 0.2.0 Installing childprocess 3.0.0 Installing builder 3.2.4 Installing racc 1.7.3 with native extensions Installing bigdecimal 3.1.6 with native extensions Installing rack 3.0.9 Installing minitest 5.16.2 Installing concurrent-ruby 1.2.3 Fetching contracts 0.17 Installing contracts 0.17 Fetching cucumber-ci-environment 9.2.0 Installing cucumber-ci-environment 9.2.0 Fetching cucumber-messages 18.0.0 Installing cucumber-messages 18.0.0 Fetching cucumber-tag-expressions 4.1.0 Fetching cucumber-cucumber-expressions 15.2.0 Installing cucumber-tag-expressions 4.1.0 Installing cucumber-cucumber-expressions 15.2.0 Fetching diff-lcs 1.5.1 Installing diff-lcs 1.5.1 Fetching mime-types-data 3.2024.0206 Fetching multi_test 1.1.0 Installing mime-types-data 3.2024.0206 Installing multi_test 1.1.0 Fetching ffi 1.16.3 Fetching rspec-support 3.13.0 Installing rspec-support 3.13.0 Fetching thor 1.3.0 Fetching ast 2.4.2 Installing ffi 1.16.3 with native extensions Installing ast 2.4.2 Installing thor 1.3.0 Using bundler 2.4.10 Using differ 0.1.2 Fetching docile 1.4.0 Installing docile 1.4.0 Fetching io-console 0.7.2 Installing io-console 0.7.2 with native extensions Fetching stringio 3.1.0 Fetching json 2.7.1 Installing stringio 3.1.0 with native extensions Fetching language_server-protocol 3.17.0.3 Installing json 2.7.1 with native extensions Installing language_server-protocol 3.17.0.3 Fetching parallel 1.24.0 Installing parallel 1.24.0 Using rainbow 3.1.1 Using ruby-filemagic 0.7.3 Fetching slop 4.9.2 Installing slop 4.9.2 Fetching webrick 1.8.1 Installing webrick 1.8.1 Fetching zeitwerk 2.6.13 Installing zeitwerk 2.6.13 Fetching regexp_parser 2.9.0 Installing regexp_parser 2.9.0 Fetching rexml 3.2.6 Installing rexml 3.2.6 Fetching ruby-progressbar 1.13.0 Installing ruby-progressbar 1.13.0 Fetching unicode-display_width 2.5.0 Installing unicode-display_width 2.5.0 Fetching simplecov-html 0.12.3 Installing simplecov-html 0.12.3 Fetching simplecov_json_formatter 0.1.4 Installing simplecov_json_formatter 0.1.4 Fetching drb 2.2.0 Installing drb 2.2.0 Fetching rack-session 2.0.0 Fetching rack-test 2.1.0 Installing rack-session 2.0.0 Installing rack-test 2.1.0 Fetching i18n 1.14.1 Fetching tzinfo 2.0.6 Installing i18n 1.14.1 Installing tzinfo 2.0.6 Fetching nokogiri 1.16.2 (x86_64-linux) Fetching cucumber-gherkin 23.0.1 Fetching cucumber-html-formatter 19.2.0 Installing cucumber-gherkin 23.0.1 Installing cucumber-html-formatter 19.2.0 Installing nokogiri 1.16.2 (x86_64-linux) Fetching mime-types 3.5.2 Installing mime-types 3.5.2 Fetching rspec-expectations 3.13.0 Fetching rspec-core 3.13.0 Installing rspec-expectations 3.13.0 Installing rspec-core 3.13.0 Fetching rspec-mocks 3.13.0 Installing rspec-mocks 3.13.0 Fetching parser 3.3.0.5 Fetching rackup 2.1.0 Installing rackup 2.1.0 Installing parser 3.3.0.5 Fetching psych 5.1.2 Fetching simplecov 0.22.0 Installing psych 5.1.2 with native extensions Installing simplecov 0.22.0 Fetching cucumber-core 11.0.0 Installing cucumber-core 11.0.0 Fetching loofah 2.22.0 Installing loofah 2.22.0 Using pdd 0.0.0 from source at `.` and installing its executables Using xcop 0.7.1 Fetching simplecov-cobertura 2.1.0 Installing simplecov-cobertura 2.1.0 Fetching rubocop-ast 1.30.0 Installing rubocop-ast 1.30.0 Fetching reline 0.4.2 Installing reline 0.4.2 Fetching rails-html-sanitizer 1.6.0 Installing rails-html-sanitizer 1.6.0 Fetching rubocop 1.60.2 Fetching rdoc 6.4.0 Installing rubocop 1.60.2 Installing rdoc 6.4.0 Fetching rubocop-capybara 2.20.0 Fetching rubocop-factory_bot 2.25.1 Installing rubocop-factory_bot 2.25.1 Fetching irb 1.11.2 Installing rubocop-capybara 2.20.0 Installing irb 1.11.2 Fetching rubocop-rspec 2.22.0 Installing rubocop-rspec 2.22.0 Fetching sys-uname 1.2.3 Fetching activesupport 7.1.3 Installing sys-uname 1.2.3 Installing activesupport 7.1.3 Fetching cucumber 8.0.0 Fetching rails-dom-testing 2.2.0 Installing cucumber 8.0.0 Installing rails-dom-testing 2.2.0 Fetching actionview 7.1.3 Fetching aruba 0.14.14 Installing actionview 7.1.3 Installing aruba 0.14.14 Fetching actionpack 7.1.3 Installing actionpack 7.1.3 Fetching railties 7.1.3 Installing railties 7.1.3 Fetching rspec-rails 5.1.2 Installing rspec-rails 5.1.2 Bundle complete! 13 Gemfile dependencies, 84 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Post-install message from contracts: 0.16.x will be the supporting Ruby 2.x and be feature frozen (only fixes will be released) For Ruby 3.x use 0.17.x or later (might not be released yet) Post-install message from aruba: Use on ruby 1.8.7 * Make sure you add something like that to your `Gemfile`. Otherwise you will get cucumber > 2 and this will fail on ruby 1.8.7 gem 'cucumber', '~> 1.3.20' With aruba >= 1.0 there will be breaking changes. Make sure to read https://github.com/cucumber/aruba/blob/master/History.md for 1.0.0 Run options: --seed 57576 # Running: 32m.0m32m.0m32m.0m1-04e35eb3: "How are you?" 132-bc1dfafe: "Just a few lines before another comment" 1425-59819ae3: "Continue replacing usage of MatcherAssert.assertThat with Assertion from cactoos-matchers. Keep PR short and limit the changes to single package. Update this puzzle for the next package. After all packages are done, add MatcherAssert to forbidden-apis.txt" 42-0d933cc0: "This is a very long puzzle of many lines and not always well formatted..." 44-660e9d6f: "This puzzle consists of two paragraphs" 55-947a180a: "This is the puzzle; Indented this way." 71-8097fa26: "This puzzle consists of just one paragraph" 91-ecb9aa47: "This puzzle Looks weird But it has to work Even though It's weird" 93-641fe341: "This puzzle is very simple. It is indented right by more spaces than the other text." 32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m/home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32m.0m32m.0m31mERROR0m: Puzzle a.txt:1-1 has an estimate of 0 minutes, which is lower than 30 minutes 32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m Finished in 7.150236s, 8.3913 runs/s, 23.4957 assertions/s. 60 runs, 168 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/r/repo/coverage/coverage.xml. 356 / 372 LOC (95.70%) covered /usr/local/rvm/rubies/ruby-3.2.2/bin/ruby -S bundle exec cucumber features --strict-undefined Using the default profile... Feature: Applies Post-Parsing Rules As a source code writer I want to be sure that certain post-parsing rules are applied Scenario: Throwing exception on big estimates 90m# features/applies_rules.feature:50m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #13:180m This puzzle has too big estimate0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--rule=max-estimate:900m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m 32mThen Stdout contains "32m1mbigger than 90 minutes0m0m32m"90m # features/step_definitions/steps.rb:810m0m Scenario: Throwing exception on small estimates 90m# features/applies_rules.feature:140m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #13:15min This puzzle has too small estimate0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--rule=min-estimate:300m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m 32mThen Stdout contains "32m1mlower than 30 minutes0m0m32m"90m # features/step_definitions/steps.rb:810m0m Scenario: Throwing exception on duplicates 90m# features/applies_rules.feature:230m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #13:15min The text0m 32m @todo #13:15min The text0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m 32mThen Stdout contains "32m1mthere are 2 duplicate0m0m32m"90m # features/step_definitions/steps.rb:810m0m Scenario: Throwing exception on duplicates 90m# features/applies_rules.feature:330m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #13/DEV:15min Some text first0m 32m @todo #13/TEST:15min The text second0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--rule=available-roles:DEV,ARC0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m 32mThen Stdout contains "32m1mdefines role TEST0m0m32m"90m # features/step_definitions/steps.rb:810m0m Scenario: Throwing exception on touching max-duplicates rule 90m# features/applies_rules.feature:430m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #334:15m This is the puzzle0m 32m @todo #35:30m This is the puzzle0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--rule=max-duplicates:30m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m Feature: Avoiding Duplicate Puzzles As a source code writer I want to be sure that XML output doesn't contain any duplicates Scenario: Throwing exception on duplicates 90m# features/avoiding_duplicates.feature:50m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 A simple puzzle0m 32m * @todo #15 A simple puzzle0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 31mERROR0m: there are 2 duplicate(s) of the same puzzle: Sample.java:3-3, Sample.java:4-4, while maximum 1 duplicate is allowed 32mWhen I run pdd it fails with "32m1merrors, see log above0m0m32m"90m # features/step_definitions/steps.rb:630m0m Feature: Catches Broken Puzzles As a source code writer I want to be sure that broken puzzles won't be processed and will cause runtime errors Scenario: Throwing exception on broken puzzles 90m# features/catches_broken_puzzles.feature:60m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * Some other documentation0m 32m * text that is not relevant to0m 32m * the puzzle below.0m 32m * @todo This puzzle has an incorrect format0m 32m * because it doesn't have a ticket number0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m 32mWhen I run pdd it fails with "32m1mSample.java:60m0m32m"90m # features/step_definitions/steps.rb:630m0m Feature: Command Line Processing As a source code writer I want to be able to call PDD as a command line tool Scenario: Help can be printed 90m# features/cli.feature:50m 32mWhen I run bin/pdd with "32m1m-h0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1m-v, --verbose0m0m32m"90m # features/step_definitions/steps.rb:810m0m Scenario: Version can be printed 90m# features/cli.feature:100m 32mWhen I run bin/pdd with "32m1m--version0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Scenario: Simple puzzles collecting 90m# features/cli.feature:140m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 Привет, Let's do it later, dude0m 32m * or maybe even never :)0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-v -s . -f out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1mReading from root dir .0m0m32m"90m # features/step_definitions/steps.rb:810m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:900m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m//puzzle[starts-with(body,'Привет, Let')]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Using basic rules 90m# features/cli.feature:330m 32mGiven I have a "32m1msample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m Nothing0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-v -s . -f out.xml --rule min-words:20 --rule=available-roles:DEV,ARC,PO0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Scenario: Simple puzzles collecting into stdout 90m# features/cli.feature:410m 32mGiven I have a "32m1mSample.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~0m 32m ~~ @todo #44 First0m 32m ~~ and0m 32m ~~ second0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m> out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout is empty90m # features/step_definitions/steps.rb:860m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Excluding unnecessary files 90m# features/cli.feature:540m 32mGiven I have a "32m1ma/b/c/test.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #44 some puzzle to be excluded0m 32m """0m 32mAnd I have a "32m1mf/g/h/hello.md0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #44 some puzzle to be excluded as well0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-e f/g/**/*.md --exclude a/**/*.txt > out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=0]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Excluding unnecessary files from .gitignore 90m# features/cli.feature:670m 32mGiven I have a "32m1ma/b/c/test.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #44 some puzzle to be excluded0m 32m """0m 32mAnd I have a "32m1mf/g/h/hello.md0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #45 some puzzle to be excluded as well0m 32m """0m 32mAnd I have a "32m1m.gitignore0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m # This is the list of patterns0m 32m a/**/*0m 32m !/f0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--skip-gitignore > out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles/puzzle[./ticket='45']0m0m32m"90m # features/step_definitions/steps.rb:900m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Excluding unnecessary files from .gitignore and ignore comments 90m# features/cli.feature:870m 32mGiven I have a "32m1ma/b/c/test.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #44 some puzzle to be excluded0m 32m """0m 32mAnd I have a "32m1mf/g/h/hello.md0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #45 some puzzle to be excluded as well0m 32m """0m 32mAnd I have a "32m1m.gitignore0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m # This is the list of patterns0m 32m # a/**/*0m 32m f/**/*0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m--skip-gitignore > out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles/puzzle[./ticket='44']0m0m32m"90m # features/step_definitions/steps.rb:900m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Files from .gitignore is not excluded by default 90m# features/cli.feature:1070m 32mGiven I have a "32m1ma/b/c/test.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #44 some puzzle to be excluded0m 32m """0m 32mAnd I have a "32m1mf/g/h/hello.md0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m ~~ @todo #45 some puzzle to be excluded as well0m 32m """0m 32mAnd I have a "32m1m.gitignore0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m # This is the list of patterns0m 32m a/**/*0m 32m !/f0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m> out.xml0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles/puzzle[./ticket='44']0m0m32m"90m # features/step_definitions/steps.rb:900m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles/puzzle[./ticket='45']0m0m32m"90m # features/step_definitions/steps.rb:900m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=2]0m0m32m"90m # features/step_definitions/steps.rb:900m0m Scenario: Rejects unknown options 90m# features/cli.feature:1280m 32mGiven I have a "32m1mtest.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m0m 32m """0m 32mWhen I run bin/pdd with "32m1m--some-unknown-option0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:1100m0m Feature: Gem Package As a source code writer I want to be able to package the Gem into .gem file Scenario: Gem can be packaged 90m# features/gem_package.feature:50m 32mGiven It is Unix90m # features/step_definitions/steps.rb:1260m0m 32mGiven I have a "32m1mexecs.rb0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m #!/usr/bin/env ruby0m 32m require 'rubygems'0m 32m spec = Gem::Specification::load('./spec.rb')0m 32m fail 'no executables' if spec.executables.empty?0m 32m """0m /tmp/test20240209-1714-ly66km/pdd/lib/pdd/version.rb:26: warning: already initialized constant PDD::VERSION /home/r/repo/lib/pdd/version.rb:26: warning: previous definition of VERSION was here 32mWhen I run bash with90m # features/step_definitions/steps.rb:1140m0m 32m """0m 32m cd pdd0m 32m gem build pdd.gemspec0m 32m gem specification --ruby pdd-*.gem > ../spec.rb0m 32m cd ..0m 32m ruby execs.rb0m 32m """0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Feature: HTML output As a source code writer I want to be able to call PDD as a command line tool, and retrieve an HTML report Scenario: HTML report building 90m# features/html_output.feature:60m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 Let's do it later, dude0m 32m * or maybe even never :)0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-v -s . -f out.html --format=html0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1mReading from root dir .0m0m32m"90m # features/step_definitions/steps.rb:810m0m 32mAnd XML file "32m1mout.html0m0m32m" matches "32m1m/html/body0m0m32m"90m # features/step_definitions/steps.rb:900m0m Feature: JSON output As a source code writer I want to be able to call PDD as a command line tool, and retrieve an JSON report Scenario: JSON report building 90m# features/json_output.feature:60m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 Let's do json0m 32m * or maybe not json ":)"0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-v -s . -f out.json --format=json0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1mReading from root dir .0m0m32m"90m # features/step_definitions/steps.rb:810m0m 32mAnd Text File "32m1mout.json0m0m32m" contains "32m1mLet's do json or maybe not json “:)“0m0m32m"90m # features/step_definitions/steps.rb:980m0m Feature: Parsing As a source code writer I want to be able to collect all puzzles from all my text files and present them in XML format Scenario: Simple puzzles collecting 90m# features/parsing.feature:60m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 Let's do it later, dude0m 32m * or maybe even never :)0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m 32mWhen I run pdd90m # features/step_definitions/steps.rb:550m0m 32mThen XML matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[file='Sample.java']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='13']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[lines='3-4']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[starts-with(body,'Let')]0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[role='DEV']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[estimate='0']0m0m32m"90m # features/step_definitions/steps.rb:590m0m Scenario: Simple puzzle within comment block 90m# features/parsing.feature:280m 32mGiven I have a "32m1mtest/a/b/Sample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * Some other documentation0m 32m * text that is not relevant to0m 32m * the puzzle below.0m 32m * @todo #13 This puzzle has a correct format0m 32m * It doesn't start with a space on0m 32m * the second and the third lines0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m 32mWhen I run pdd90m # features/step_definitions/steps.rb:550m0m 32mThen XML matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[file='test/a/b/Sample.java']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='13']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[lines='6-8']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[starts-with(body,'This')]0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[role='DEV']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[estimate='0']0m0m32m"90m # features/step_definitions/steps.rb:590m0m Scenario: Multiple puzzles in one file 90m# features/parsing.feature:540m 32mGiven I have a "32m1mtest/a/b/c/Sample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m public class Main {0m 32m /**0m 32m * @todo #13 This one later0m 32m * @todo #ABC-67:15min And this one ever later0m 32m * @todo #F-78-3:2h/DEV This is for a developer0m 32m * who will join us later0m 32m * @todo #44 This puzzle has a correct format0m 32m * even though it doesn't start with a space on0m 32m * the second and the third lines0m 32m */0m 32m public void main(String[] args) {0m 32m // later0m 32m }0m 32m }0m 32m """0m 32mWhen I run pdd90m # features/step_definitions/steps.rb:550m0m 32mThen XML matches "32m1m/puzzles[count(puzzle)=4]0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='13' and lines='3-3']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='13' and body='This one later']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='ABC-67' and lines='4-4']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='F-78-3' and lines='5-6']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='ABC-67' and estimate='15']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='F-78-3' and estimate='120']0m0m32m"90m # features/step_definitions/steps.rb:590m0m 32mAnd XML matches "32m1m//puzzle[ticket='44' and lines='7-9']0m0m32m"90m # features/step_definitions/steps.rb:590m0m Feature: Rake Task As a source code writer I want to be able to run PDD from Rakefile Scenario: PDD can be used in Rakefile 90m# features/rake.feature:40m 32mGiven It is Unix90m # features/step_definitions/steps.rb:1260m0m 32mAnd I have a "32m1mRakefile0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m require 'pdd/rake_task'0m 32m PDD::RakeTask.new(:pdd) do |task|0m 32m task.includes = ['a.txt']0m 32m end0m 32m """0m 32mAnd I have a "32m1ma.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m \x40todo #55 hello!0m 32m """0m 32mWhen I run bash with "32m1mrake pdd0m0m32m"90m # features/step_definitions/steps.rb:1200m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Feature: Removing Puzzles As a source code writer I want to be able to remove PDD puzzles from source code Scenario: Removing puzzles from code 90m# features/remove.feature:50m 32mGiven I have a "32m1ma/test.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m Hello,0m 32m # @todo #42 Bye!0m 32m # Bye!0m 32m The End.0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m-v --remove -f /dev/null0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1m1 puzzles removed from a/test.txt0m0m32m"90m # features/step_definitions/steps.rb:810m0m Feature: Unicode As a source code writer I want to be able to work with Unicode files Scenario: Unicode on ASCII locale 90m# features/unicode.feature:50m 32mGiven It is Unix90m # features/step_definitions/steps.rb:1260m0m 32mGiven I have a "32m1mtest.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m # @todo #44 привет, друзья0m 32m """0m /tmp/test20240209-1714-lflukg/pdd/lib/pdd/version.rb:26: warning: already initialized constant PDD::VERSION /home/r/repo/lib/pdd/version.rb:26: warning: previous definition of VERSION was here /tmp/test20240209-1714-lflukg/pdd/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bash with90m # features/step_definitions/steps.rb:1140m0m 32m """0m 32m LANG=C ruby -Ipdd/lib pdd/bin/pdd test.txt -v -f=/dev/null -e=pdd/**/*0m 32m """0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Scenario: Skip file with broken Unicode 90m# features/unicode.feature:170m 32mGiven It is Unix90m # features/step_definitions/steps.rb:1260m0m 32mGiven I have a "32m1mtest.txt0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m \xBF test0m 32m # @todo #44 \xFF hey0m 32m \xFF test again0m 32m """0m 32mWhen I run bin/pdd with "32m1m--exclude=test.txt -v -f=/dev/null0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Stdout contains "32m1mExcluding test.txt0m0m32m"90m # features/step_definitions/steps.rb:810m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m Feature: Using .pdd config file As a source code writer I want to be able to call PDD as a command line tool and configure it via .pdd configuration file Scenario: Simple puzzles collecting 90m# features/uses_config.feature:60m 32mGiven I have a "32m1mSample.java0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m @todo #13 Let's do it later, dude0m 32m """0m 32mAnd I have a "32m1m.pdd0m0m32m" file with content:90m # features/step_definitions/steps.rb:480m0m 32m """0m 32m --verbose0m 32m --source=.0m 32m --file=out.xml0m 32m """0m /home/r/repo/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic 32mWhen I run bin/pdd with "32m1m0m0m32m"90m # features/step_definitions/steps.rb:750m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:1060m0m 32mAnd Stdout contains "32m1mReading from root dir .0m0m32m"90m # features/step_definitions/steps.rb:810m0m 32mAnd XML file "32m1mout.xml0m0m32m" matches "32m1m/puzzles[count(puzzle)=1]0m0m32m"90m # features/step_definitions/steps.rb:900m0m 28 scenarios (32m28 passed0m) 138 steps (32m138 passed0m) 0m14.953s 1m32m┌──────────────────────────────────────────────────────────────────────────────┐0m0m 1m32m│0m0m Share your Cucumber Report with your team at 4m1m36mhttps://reports.cucumber.io0m0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m Command line option: 36m--publish0m 1m32m│0m0m 1m32m│0m0m Environment variable: 36mCUCUMBER_PUBLISH_ENABLED0m=36mtrue0m 1m32m│0m0m 1m32m│0m0m cucumber.yml: 36mdefault: --publish0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m More information at 4m1m36mhttps://cucumber.io/docs/cucumber/environment-variables/0m0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m To disable this message, specify 1mCUCUMBER_PUBLISH_QUIET=true0m or use the 1m32m│0m0m 1m32m│0m0m 1m--publish-quiet0m option. You can also add this to your 1mcucumber.yml:0m 1m32m│0m0m 1m32m│0m0m 1mdefault: --publish-quiet0m 1m32m│0m0m 1m32m└──────────────────────────────────────────────────────────────────────────────┘0m0m Coverage report generated for Cucumber Features, Unit Tests to /home/r/repo/coverage. 356 / 372 LOC (95.7%) covered. Running RuboCop... Run options: --seed 39702 # Running: Run options: --seed 28462 # Running: Run options: --seed 15377 # Running: Run options: --seed 55229 # Running: Run options: --seed 34418 # Running: Run options: --seed 52080 Run options: --seed 59612 # Running: # Running: Run options: --seed 43683 # Running: Finished in 0.012959s, 0.0000 runs/s, 0.0000 assertions/s. Finished in 0.012206s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.016369s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.014606s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.018459s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.020233s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.025598s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Finished in 0.026555s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Run options: --seed 25496 # Running: Finished in 0.006669s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Run options: --seed 9146 # Running: Finished in 0.006557s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Run options: --seed 2520 # Running: Finished in 0.006827s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Run options: --seed 50765 # Running: Finished in 0.009207s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips Inspecting 29 files 32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m 29 files inspected, 32mno offenses0m detected Running xcop... Inspecting 3 files... 32m.0m32m.0m32m.0m 3 files checked, everything looks 32mpretty0m grep -q -r '2014-2024' --include '*.rb' --include '*.txt' --include 'Rakefile' . Run options: --seed 31479 # Running: Finished in 0.002176s, 0.0000 runs/s, 0.0000 assertions/s. 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips [__rultor 03f1073] version set to 0.24.0 1 file changed, 1 insertion(+), 1 deletion(-) Successfully built RubyGem Name: pdd Version: 0.24.0 File: pdd-0.24.0.gem Pushing gem to https://rubygems.org... Successfully registered gem: pdd (0.24.0) + mv /home/r/repo . ++ whoami + chown -R root repo + '[' -n '' ']' ++ whoami + sudo chown -R rultor repo + cd repo + git checkout __rultor Already on '__rultor' + git tag 0.24.0 -m '0.24.0: tagged by rultor.com' + git reset --hard HEAD is now at 03f1073 version set to 0.24.0 + git clean -fd + git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'. + git branch -D __rultor Deleted branch __rultor (was 03f1073). + git push --all origin Everything up-to-date + git push --tags origin To github.com:cqfn/pdd.git * [new tag] 0.24.0 -> 0.24.0 container ba3ba4bf501e0f7971354bf68a61c2833dc51235cc45280f81c88886346c525d is dead Fri Feb 9 03:44:25 PM CET 2024