rultor.com logo This build log was produced by rultor.com for cqfn/pdd#239
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 1872213
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Tue Jan 30 04:07:09 AM CET 2024
+ uptime
 04:07:09 up 138 days,  8:21,  0 users,  load average: 0.24, 0.15, 0.11
+ ff=default
+ image=yegor256/rultor-image:1.20.0
+ rebase=false
+ head_branch=master
+ pull_title='[#238] Formatter is required for codecov report'
+ author=yegor256
+ directory=
+ head=git@github.com:cqfn/pdd.git
+ pull_id=239
+ fork=git@github.com:pnatashap/pdd.git
+ fork_branch=238
+ squash=false
+ vars=('--env=head=git@github.com:cqfn/pdd.git' '--env=pull_id=239' '--env=fork=git@github.com:pnatashap/pdd.git' '--env=fork_branch=238' '--env=head_branch=master' '--env=pull_title=[#238] Formatter is required for codecov report' '--env=author=yegor256' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:cqfn/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=239'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:pnatashap/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=238'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=[#238] Formatter is required for codecov report'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"'\'' '\'';'\'' '\''LC_ALL=US-ASCII bundle exec rake'\'' '\'';'\'' )')
+ scripts=('export '\''head=git@github.com:cqfn/pdd.git'\''' ';' 'export '\''pull_id=239'\''' ';' 'export '\''fork=git@github.com:pnatashap/pdd.git'\''' ';' 'export '\''fork_branch=238'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=[#238] Formatter is required for codecov report'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"' ';' 'LC_ALL=US-ASCII bundle exec rake' ';')
+ container=cqfn_pdd_239
+ as_root=false
+ hostname
b3.rultor.com
+ pwd
/tmp/rultor-Yyvm
+ 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 '\''pull_id=239'\''' ';' 'export '\''fork=git@github.com:pnatashap/pdd.git'\''' ';' 'export '\''fork_branch=238'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=[#238] Formatter is required for codecov report'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"' ';' 'LC_ALL=US-ASCII bundle exec rake' ';'
+ sensitive=()
+ rm -rf .gnupg
+ cd repo
+ git remote add fork git@github.com:pnatashap/pdd.git
+ git remote update
Fetching origin
Fetching fork
From github.com:pnatashap/pdd
 * [new branch]      205        -> fork/205
 * [new branch]      222        -> fork/222
 * [new branch]      223        -> fork/223
 * [new branch]      224        -> fork/224
 * [new branch]      226        -> fork/226
 * [new branch]      228        -> fork/228
 * [new branch]      234        -> fork/234
 * [new branch]      238        -> fork/238
 * [new branch]      master     -> fork/master
+ args=
+ '[' default == default ']'
+ args=' --ff'
+ '[' default == no ']'
+ '[' default == only ']'
+ export BRANCH=__rultor
+ BRANCH=__rultor
++ git show-branch __rultor
++ wc -l
+ '[' 0 -gt 0 ']'
+ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
+ git checkout -B __rultor fork/238
Switched to a new branch '__rultor'
Branch '__rultor' set up to track remote branch '238' from 'fork'.
+ git checkout -B master origin/master
Switched to and reset branch 'master'
Branch 'master' set up to track remote branch 'master' from 'origin'.
Your branch is up to date with 'origin/master'.
+ '[' false == true ']'
+ '[' false == true ']'
+ git merge --ff __rultor
Updating f536c6c..5428b3a
Fast-forward
 .github/workflows/codecov.yml | 1 -
 Gemfile                       | 1 +
 test/test__helper.rb          | 3 +++
 3 files changed, 4 insertions(+), 1 deletion(-)
+ docker_when_possible
+ true
++ uptime
++ sed 's/ /\n/g'
++ tail -n 1
+ load=0.10
++ echo 0.10 '>' 30
++ bc
./run.sh: line 111: bc: command not found
+ '[' -eq 1 ']'
./run.sh: line 111: [: -eq: unary operator expected
+ echo 'load average is 0.10, low enough to run a new Docker container'
load average is 0.10, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/rultor-image:1.20.0
+ docker pull yegor256/rultor-image:1.20.0
1.20.0: Pulling from yegor256/rultor-image
Digest: sha256:16cc11b0a4ffb8657d15663b400bffe3902db7c2d5f06c08e437151d3db6a12b
Status: Image is up to date for yegor256/rultor-image:1.20.0
docker.io/yegor256/rultor-image:1.20.0
+ docker ps --filter=status=exited
+ grep --quiet '\scqfn_pdd_239\s*$'
+ ls -al .
total 48
drwx------  3 rultor rultor 4096 Jan 30 04:07 .
drwxrwxrwt 14 root   root   4096 Jan 30 04:06 ..
-rwxrwxr-x  1 rultor rultor  556 Jan 30 04:07 end.sh
-rwxrwxr-x  1 rultor rultor  466 Jan 30 04:07 entry.sh
-rw-rw-r--  1 rultor rultor    8 Jan 30 04:07 pid
drwxrwxr-x 11 rultor rultor 4096 Jan 30 04:07 repo
-rw-rw-r--  1 rultor rultor   81 Jan 30 04:07 rubygems.yml
-rwxrwxr-x  1 rultor rultor 5923 Jan 30 04:07 run.sh
-rw-rw-r--  1 rultor rultor  563 Jan 30 04:07 script.sh
-rw-rw-r--  1 rultor rultor 5354 Jan 30 04:07 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-Yyvm:/main --env=head=git@github.com:cqfn/pdd.git --env=pull_id=239 --env=fork=git@github.com:pnatashap/pdd.git --env=fork_branch=238 --env=head_branch=master '--env=pull_title=[#238] Formatter is required for codecov report' --env=author=yegor256 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:cqfn/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=239'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:pnatashap/pdd.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=238'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=[#238] Formatter is required for codecov report'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"'\'' '\'';'\'' '\''LC_ALL=US-ASCII bundle exec rake'\'' '\'';'\'' )' --hostname=docker --privileged --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-Yyvm/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=cqfn_pdd_239 yegor256/rultor-image:1.20.0 /main/entry.sh
WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.
Using /usr/local/rvm/gems/ruby-3.0.1
Using /usr/local/rvm/gems/ruby-3.0.1
+ 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 messagebus 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 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/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.0.1
Using /usr/local/rvm/gems/ruby-3.0.1
33mWarning! PATH is not properly set up, /usr/local/rvm/gems/ruby-3.0.1/bin is not at first place.
         0mUsually this is caused by shell initialization files. Search for 34mPATH=...0m entries.
         You can also re-add RVM to your profile by running: 34mrvm get stable --auto-dotfiles0m
         To fix it temporarily in this shell session run: 34mrvm use ruby-3.0.10m
         To ignore this error add 34mrvm_silence_path_mismatch_check_flag=10m to your 34m~/.rvmrc0m file.0m
0mUsing /usr/local/rvm/gems/ruby-3.0.1
Using /usr/local/rvm/gems/ruby-3.0.1
Found 26 lines in /home/r/repo/.pdd
My version is 0.23.1
Ruby version is 3.0.1 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/**/*
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 ...
Using /usr/local/rvm/gems/ruby-3.0.1
Using /usr/local/rvm/gems/ruby-3.0.1
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies....
Fetching rake 13.0.6
Installing rake 13.0.6
Fetching ruby2_keywords 0.0.5
Fetching erubi 1.12.0
Fetching concurrent-ruby 1.2.3
Fetching mutex_m 0.2.0
Fetching builder 3.2.4
Fetching rack 3.0.8
Fetching connection_pool 2.4.1
Fetching racc 1.7.3
Fetching crass 1.0.6
Fetching base64 0.2.0
Fetching minitest 5.16.2
Fetching bigdecimal 3.1.6
Installing mutex_m 0.2.0
Installing erubi 1.12.0
Installing connection_pool 2.4.1
Installing ruby2_keywords 0.0.5
Installing crass 1.0.6
Installing builder 3.2.4
Installing base64 0.2.0
Installing racc 1.7.3 with native extensions
Installing minitest 5.16.2
Installing rack 3.0.8
Installing bigdecimal 3.1.6 with native extensions
Installing concurrent-ruby 1.2.3
Fetching childprocess 3.0.0
Installing childprocess 3.0.0
Fetching contracts 0.17
Installing contracts 0.17
Fetching cucumber-ci-environment 9.2.0
Fetching cucumber-messages 18.0.0
Installing cucumber-ci-environment 9.2.0
Installing cucumber-messages 18.0.0
Fetching cucumber-tag-expressions 4.1.0
Installing cucumber-tag-expressions 4.1.0
Fetching cucumber-cucumber-expressions 15.2.0
Installing cucumber-cucumber-expressions 15.2.0
Fetching diff-lcs 1.5.0
Installing diff-lcs 1.5.0
Fetching mime-types-data 3.2023.1205
Fetching multi_test 1.1.0
Installing mime-types-data 3.2023.1205
Installing multi_test 1.1.0
Fetching ffi 1.16.3
Fetching rspec-support 3.12.1
Installing rspec-support 3.12.1
Fetching thor 1.3.0
Fetching ast 2.4.2
Using bundler 2.3.26
Using differ 0.1.2
Fetching io-console 0.7.2
Fetching docile 1.4.0
Fetching stringio 3.1.0
Installing ast 2.4.2
Installing ffi 1.16.3 with native extensions
Installing thor 1.3.0
Installing io-console 0.7.2 with native extensions
Installing docile 1.4.0
Installing stringio 3.1.0 with native extensions
Fetching json 2.7.1
Installing json 2.7.1 with native extensions
Fetching language_server-protocol 3.17.0.3
Fetching parallel 1.24.0
Installing parallel 1.24.0
Installing language_server-protocol 3.17.0.3
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.12
Installing zeitwerk 2.6.12
Fetching regexp_parser 2.9.0
Fetching rexml 3.2.6
Fetching ruby-progressbar 1.13.0
Installing regexp_parser 2.9.0
Fetching unicode-display_width 2.5.0
Installing ruby-progressbar 1.13.0
Installing rexml 3.2.6
Fetching simplecov-html 0.12.3
Installing unicode-display_width 2.5.0
Fetching simplecov_json_formatter 0.1.4
Installing simplecov_json_formatter 0.1.4
Installing simplecov-html 0.12.3
Fetching drb 2.2.0
Installing drb 2.2.0
Fetching rack-session 2.0.0
Installing rack-session 2.0.0
Fetching rack-test 2.1.0
Installing rack-test 2.1.0
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
Fetching i18n 1.14.1
Installing i18n 1.14.1
Fetching tzinfo 2.0.6
Installing tzinfo 2.0.6
Fetching mime-types 3.5.2
Installing mime-types 3.5.2
Fetching nokogiri 1.16.0 (x86_64-linux)
Fetching rspec-expectations 3.12.3
Fetching rspec-core 3.12.2
Installing rspec-expectations 3.12.3
Installing nokogiri 1.16.0 (x86_64-linux)
Fetching rspec-mocks 3.12.6
Installing rspec-mocks 3.12.6
Fetching parser 3.3.0.5
Fetching psych 5.1.2
Installing psych 5.1.2 with native extensions
Installing parser 3.3.0.5
Fetching rackup 2.1.0
Installing rackup 2.1.0
Fetching simplecov 0.22.0
Installing simplecov 0.22.0
Fetching cucumber-core 11.0.0
Installing cucumber-core 11.0.0
Fetching reline 0.4.2
Fetching rubocop-ast 1.30.0
Using pdd 0.0.0 from source at `.` and installing its executables
Using xcop 0.7.1
Fetching loofah 2.22.0
Installing rubocop-ast 1.30.0
Installing reline 0.4.2
Installing loofah 2.22.0
Fetching simplecov-cobertura 2.1.0
Installing simplecov-cobertura 2.1.0
Fetching rails-html-sanitizer 1.6.0
Installing rails-html-sanitizer 1.6.0
Fetching rubocop 1.53.1
Installing rubocop 1.53.1
Fetching rubocop-factory_bot 2.25.1
Fetching rubocop-capybara 2.20.0
Installing rubocop-factory_bot 2.25.1
Installing rubocop-capybara 2.20.0
Fetching rubocop-rspec 2.22.0
Fetching rdoc 6.4.0
Installing rubocop-rspec 2.22.0
Installing rdoc 6.4.0
Installing rspec-core 3.12.2
Fetching irb 1.11.1
Installing irb 1.11.1
Fetching sys-uname 1.2.3
Installing sys-uname 1.2.3
Fetching cucumber 8.0.0
Installing cucumber 8.0.0
Fetching aruba 0.14.14
Installing aruba 0.14.14
Fetching activesupport 7.1.3
Installing activesupport 7.1.3
Fetching rails-dom-testing 2.2.0
Installing rails-dom-testing 2.2.0
Fetching actionview 7.1.3
Installing actionview 7.1.3
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 63630

# Running:

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.0m31mERROR0m: Puzzle a.txt:1-1 has an estimate of 0 minutes, which is lower than 30 minutes
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

Finished in 1.888192s, 29.1284 runs/s, 78.3819 assertions/s.
55 runs, 148 assertions, 0 failures, 0 errors, 0 skips
Coverage report generated for Unit Tests to /home/r/repo/coverage/coverage.xml. 340 / 356 LOC (95.51%) covered
/usr/local/rvm/rubies/ruby-3.0.1/bin/ruby -S bundle exec cucumber features
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
    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
    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
    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
    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
    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
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
    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
    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
    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
    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
    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
    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
    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/test20240130-1875-lpwq66/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
    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
    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
    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/test20240130-1875-t2e1km/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      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
    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)
0m10.361s
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. 340 / 356 LOC (95.51%) covered.
Running RuboCop...
Run options: --seed 62960

# Running:



Finished in 0.009659s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 37750

# Running:

Run options: --seed 62052

# Running:

Run options: --seed 5712

# Running:



Finished in 0.011905s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips


Finished in 0.011681s, 0.0000 runs/s, 0.0000 assertions/s.
Run options: --seed 18714

# Running:
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips



Finished in 0.012928s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips


Finished in 0.011152s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 51518

# Running:

Run options: --seed 46062


Finished in 0.009942s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips

# Running:



Finished in 0.008396s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 54814

# Running:



Finished in 0.006798s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 44392

# Running:



Finished in 0.007282s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 54706

# Running:



Finished in 0.007627s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 61555

# Running:



Finished in 0.007090s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 8806

# Running:



Finished in 0.008852s, 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 60454

# Running:



Finished in 0.001619s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R rultor repo
+ cd repo
+ git push origin master
To github.com:cqfn/pdd.git
   f536c6c..5428b3a  master -> master
container 0584acab5b9d94fb24bff9b9346aba17a11c985bea6c41e18462b3a21f5a7523 is dead
Tue Jan 30 04:09:41 AM CET 2024