rultor.com logo This build log was produced by rultor.com for yegor256/judges#183
+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 1731
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Wed Mar 12 16:41:16 UTC 2025
+ uptime
 16:41:16 up 1 min,  0 users,  load average: 2.13, 0.68, 0.24
+ head=git@github.com:yegor256/judges.git
+ ff=default
+ image=yegor256/ruby
+ rebase=false
+ squash=false
+ head_branch=master
+ author=yegor256
+ tag=0.36.3
+ vars=('--env=head=git@github.com:yegor256/judges.git' '--env=tag=0.36.3' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.36.3'\''\'\'''\'''\'' '\'';'\'' '\''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" judges.gemspec'\'' '\'';'\'' '\''git add judges.gemspec'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/judges.rb'\'' '\'';'\'' '\''git add lib/judges.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build judges.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:yegor256/judges.git'\''' ';' 'export '\''tag=0.36.3'\''' ';' '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" judges.gemspec' ';' 'git add judges.gemspec' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/judges.rb' ';' 'git add lib/judges.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build judges.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';')
+ directory=
+ container=yegor256_judges_183
+ as_root=false
+ hostname
ip-172-31-30-54
+ pwd
/tmp/rultor-7HlI
+ git --version
git version 2.34.1
+ docker --version
Docker version 25.0.3, build 4debf41
+ mkdir -p /home/ubuntu/.ssh
+ echo -e 'Host github.com\n\tStrictHostKeyChecking no\n'
+ chmod 600 /home/ubuntu/.ssh/config
+ git clone git@github.com:yegor256/judges.git repo
Cloning into 'repo'...
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
+ cd repo
+ git config user.email me@rultor.com
+ git config user.name rultor
+ '[' -z 'export '\''head=git@github.com:yegor256/judges.git'\''' ']'
+ cd ..
+ cat
+ '[' false = true ']'
+ cat
+ chmod a+x entry.sh
+ cat
+ echo 'export '\''head=git@github.com:yegor256/judges.git'\''' ';' 'export '\''tag=0.36.3'\''' ';' '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" judges.gemspec' ';' 'git add judges.gemspec' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/judges.rb' ';' 'git add lib/judges.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build judges.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';'
+ sensitive=()
+ rm -rf .gnupg
+ set -ex
+ '[' -z 0.36.3 ']'
+ [[ 0.36.3 =~ ^[a-zA-Z0-9\.\-]+$ ]]
+ echo 'tag name is valid: "0.36.3"'
tag name is valid: "0.36.3"
+ cd repo
++ git tag -l 0.36.3
+ '[' ']'
+ export BRANCH_NAME=__rultor
+ BRANCH_NAME=__rultor
++ wc -l
++ git show-branch __rultor
+ '[' 0 -gt 0 ']'
+ git checkout -b __rultor
Switched to a new branch '__rultor'
+ docker_when_possible
+ true
++ tail -n 1
++ sed 's/ /\n/g'
++ uptime
+ load=0.25
++ bc
++ echo 0.25 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.25, low enough to run a new Docker container'
load average is 0.25, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/ruby
+ docker pull yegor256/ruby
Using default tag: latest
latest: Pulling from yegor256/ruby
4ff5a3a54264: Pulling fs layer
8d6bcbc2151c: Pulling fs layer
1e36295709cc: Pulling fs layer
e451f55144f6: Pulling fs layer
2dd8157b40b5: Pulling fs layer
c65458208920: Pulling fs layer
a1dd7fc7aabd: Pulling fs layer
4f4fb700ef54: Pulling fs layer
98f300d013cf: Pulling fs layer
4403f5d47252: Pulling fs layer
9209c0cb00db: Pulling fs layer
b1ae2d540bb7: Pulling fs layer
c38e8b32a719: Pulling fs layer
55ee51b704e1: Pulling fs layer
184e15d90536: Pulling fs layer
e451f55144f6: Waiting
2dd8157b40b5: Waiting
c65458208920: Waiting
a1dd7fc7aabd: Waiting
4f4fb700ef54: Waiting
98f300d013cf: Waiting
4403f5d47252: Waiting
9209c0cb00db: Waiting
b1ae2d540bb7: Waiting
c38e8b32a719: Waiting
55ee51b704e1: Waiting
184e15d90536: Waiting
8d6bcbc2151c: Verifying Checksum
8d6bcbc2151c: Download complete
4ff5a3a54264: Verifying Checksum
4ff5a3a54264: Download complete
1e36295709cc: Verifying Checksum
1e36295709cc: Download complete
2dd8157b40b5: Verifying Checksum
2dd8157b40b5: Download complete
a1dd7fc7aabd: Verifying Checksum
a1dd7fc7aabd: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
c65458208920: Verifying Checksum
c65458208920: Download complete
98f300d013cf: Verifying Checksum
98f300d013cf: Download complete
4403f5d47252: Verifying Checksum
4403f5d47252: Download complete
9209c0cb00db: Verifying Checksum
9209c0cb00db: Download complete
b1ae2d540bb7: Verifying Checksum
b1ae2d540bb7: Download complete
c38e8b32a719: Verifying Checksum
c38e8b32a719: Download complete
55ee51b704e1: Verifying Checksum
55ee51b704e1: Download complete
184e15d90536: Verifying Checksum
184e15d90536: Download complete
e451f55144f6: Verifying Checksum
e451f55144f6: Download complete
4ff5a3a54264: Pull complete
8d6bcbc2151c: Pull complete
1e36295709cc: Pull complete
e451f55144f6: Pull complete
2dd8157b40b5: Pull complete
c65458208920: Pull complete
a1dd7fc7aabd: Pull complete
4f4fb700ef54: Pull complete
98f300d013cf: Pull complete
4403f5d47252: Pull complete
9209c0cb00db: Pull complete
b1ae2d540bb7: Pull complete
c38e8b32a719: Pull complete
55ee51b704e1: Pull complete
184e15d90536: Pull complete
Digest: sha256:76fc9bdf7300e4e1ec7be8f7210c218839590b1160b713df9ab87981f846ce66
Status: Downloaded newer image for yegor256/ruby:latest
docker.io/yegor256/ruby:latest
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_judges_183\s*$'
+ ls -al .
total 52
drwx------  3 ubuntu ubuntu 4096 Mar 12 16:41 .
drwxrwxrwt 12 root   root   4096 Mar 12 16:41 ..
-rwxrwxr-x  1 ubuntu ubuntu 2089 Mar 12 16:41 end.sh
-rwxrwxr-x  1 ubuntu ubuntu  490 Mar 12 16:41 entry.sh
-rw-rw-r--  1 ubuntu ubuntu    5 Mar 12 16:41 pid
drwxrwxr-x 11 ubuntu ubuntu 4096 Mar 12 16:41 repo
-rw-rw-r--  1 ubuntu ubuntu   81 Mar 12 16:41 rubygems.yml
-rwxrwxr-x  1 ubuntu ubuntu 9427 Mar 12 16:41 run.sh
-rw-rw-r--  1 ubuntu ubuntu  727 Mar 12 16:41 script.sh
-rw-rw-r--  1 ubuntu ubuntu 6603 Mar 12 16:42 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-7HlI:/main --env=head=git@github.com:yegor256/judges.git --env=tag=0.36.3 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.36.3'\''\'\'''\'''\'' '\'';'\'' '\''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" judges.gemspec'\'' '\'';'\'' '\''git add judges.gemspec'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/judges.rb'\'' '\'';'\'' '\''git add lib/judges.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build judges.gemspec'\'' '\'';'\'' '\''chmod 0600 ../rubygems.yml'\'' '\'';'\'' '\''gem push *.gem --config-file ../rubygems.yml'\'' '\'';'\'' )' --env=head_branch=master --env=author=yegor256 --hostname=docker --privileged --net=host --dns 8.8.8.8 --add-host docker:127.0.0.1 --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-7HlI/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_judges_183 yegor256/ruby /main/entry.sh
WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.
+ set -e
+ set -o pipefail
+ shopt -s dotglob
+ useradd -m -G sudo r
++ awk -F : '$3 > 100 { print $1 }'
++ cat /etc/group
+ 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 ssh 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/.cache /root/.gemrc /root/.profile /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
+ cat /home/r/script.sh
#!/bin/bash
set -e
set -o pipefail
if [ -e /home/r/.profile ]; then source /home/r/.profile; fi
shopt -s expand_aliases
alias 'sudo=sudo -i'
export HOME=/home/r
cd "${HOME}/repo"
export 'head=git@github.com:yegor256/judges.git' ; export 'tag=0.36.3' ; 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" judges.gemspec ; git add judges.gemspec ; sed -i "s/0\.0\.0/${tag}/g" lib/judges.rb ; git add lib/judges.rb ; git commit -m "version set to ${tag}" ; gem build judges.gemspec ; chmod 0600 ../rubygems.yml ; gem push *.gem --config-file ../rubygems.yml ;
+ su --login r --command /home/r/script.sh
Found 7 lines in /home/r/repo/.pdd
My version is 0.23.1
Ruby version is 3.4.2 at x86_64-linux
Reading from root dir .
Excluding target/**/*
Excluding coverage/**/*
/usr/local/bundle/gems/pdd-0.23.1/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic
/home/r/repo/renovate.json is a binary file (107 bytes)
Reading .0pdd.yml ...
Reading .gitattributes ...
Reading .github/workflows/actionlint.yml ...
Reading .github/workflows/codecov.yml ...
Reading .github/workflows/copyrights.yml ...
Reading .github/workflows/markdown-lint.yml ...
Reading .github/workflows/pdd.yml ...
Reading .github/workflows/rake.yml ...
Reading .github/workflows/reuse.yml ...
Reading .github/workflows/xcop.yml ...
Reading .github/workflows/yamllint.yml ...
Reading .gitignore ...
Reading .pdd ...
Reading .rubocop.yml ...
Reading .rultor.yml ...
Reading .simplecov ...
Reading Gemfile ...
Reading Gemfile.lock ...
Reading LICENSE.txt ...
Reading LICENSES/MIT.txt ...
Reading README.md ...
Reading REUSE.toml ...
Reading Rakefile ...
Reading assets/index.xsl ...
Reading bin/judges ...
Reading features/gem_package.feature ...
Reading features/import.feature ...
Reading features/inspect.feature ...
Reading features/join.feature ...
Reading features/misc.feature ...
Reading features/print.feature ...
Reading features/pull.feature ...
Reading features/push.feature ...
Reading features/step_definitions/steps.rb ...
Reading features/support/env.rb ...
Reading features/test.feature ...
Reading features/trim.feature ...
Reading features/update.feature ...
Reading fixtures/guess/guess.rb ...
Reading fixtures/guess/guess_made.yml ...
Reading fixtures/guess/skipped.yml ...
Reading fixtures/repeat/repeat.rb ...
Reading fixtures/repeat/repeated.yml ...
Reading fixtures/try/tried.yml ...
Reading fixtures/try/try.rb ...
Reading judges.gemspec ...
Reading lib/judges/categories.rb ...
Reading lib/judges/commands/eval.rb ...
Reading lib/judges/commands/import.rb ...
Reading lib/judges/commands/inspect.rb ...
Reading lib/judges/commands/join.rb ...
Reading lib/judges/commands/print.rb ...
Reading lib/judges/commands/pull.rb ...
Reading lib/judges/commands/push.rb ...
Reading lib/judges/commands/test.rb ...
Reading lib/judges/commands/trim.rb ...
Reading lib/judges/commands/update.rb ...
Reading lib/judges/impex.rb ...
Reading lib/judges/judge.rb ...
Reading lib/judges/judges.rb ...
Reading lib/judges/options.rb ...
Reading lib/judges/to_rel.rb ...
Reading lib/judges.rb ...
Reading test/commands/test_eval.rb ...
Reading test/commands/test_import.rb ...
Reading test/commands/test_inspect.rb ...
Reading test/commands/test_join.rb ...
Reading test/commands/test_print.rb ...
Reading test/commands/test_pull.rb ...
Reading test/commands/test_push.rb ...
Reading test/commands/test_test.rb ...
Reading test/commands/test_trim.rb ...
Reading test/commands/test_update.rb ...
Reading test/test__helper.rb ...
Reading test/test_bin.rb ...
Reading test/test_categories.rb ...
Reading test/test_impex.rb ...
Reading test/test_judge.rb ...
Reading test/test_judges.rb ...
Reading test/test_options.rb ...
Reading test/test_to_rel.rb ...
Bundler 2.6.2 is running, but your lockfile was generated with 2.5.16. Installing Bundler 2.5.16 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.5.16
Installing bundler 2.5.16
Fetching gem metadata from https://rubygems.org/...........
Fetching benchmark 0.4.0
Installing benchmark 0.4.0
Fetching bigdecimal 3.1.9
Installing bigdecimal 3.1.9 with native extensions
Fetching concurrent-ruby 1.3.5
Installing concurrent-ruby 1.3.5
Fetching connection_pool 2.5.0
Installing connection_pool 2.5.0
Fetching i18n 1.14.7
Installing i18n 1.14.7
Fetching logger 1.6.6
Installing logger 1.6.6
Fetching securerandom 0.4.1
Installing securerandom 0.4.1
Fetching tzinfo 2.0.6
Installing tzinfo 2.0.6
Fetching uri 1.0.3
Installing uri 1.0.3
Fetching activesupport 8.0.2
Installing activesupport 8.0.2
Fetching builder 3.3.0
Installing builder 3.3.0
Fetching erubi 1.13.1
Installing erubi 1.13.1
Fetching rails-dom-testing 2.2.0
Installing rails-dom-testing 2.2.0
Fetching crass 1.0.6
Installing crass 1.0.6
Fetching loofah 2.24.0
Installing loofah 2.24.0
Fetching rails-html-sanitizer 1.6.2
Installing rails-html-sanitizer 1.6.2
Fetching actionview 8.0.2
Installing actionview 8.0.2
Fetching rack 3.1.12
Installing rack 3.1.12
Fetching rack-session 2.1.0
Installing rack-session 2.1.0
Fetching rack-test 2.2.0
Installing rack-test 2.2.0
Fetching useragent 0.16.11
Installing useragent 0.16.11
Fetching actionpack 8.0.2
Installing actionpack 8.0.2
Fetching public_suffix 6.0.1
Installing public_suffix 6.0.1
Fetching addressable 2.8.7
Installing addressable 2.8.7
Fetching ansi 1.5.0
Installing ansi 1.5.0
Fetching ast 2.4.2
Installing ast 2.4.2
Fetching backtrace 0.4.0
Installing backtrace 0.4.0
Fetching loog 0.6.0
Installing loog 0.6.0
Fetching tago 0.0.2
Installing tago 0.0.2
Fetching elapsed 0.0.1
Installing elapsed 0.0.1
Fetching net-http 0.6.0
Installing net-http 0.6.0
Fetching faraday-net_http 3.4.0
Installing faraday-net_http 3.4.0
Fetching json 2.10.2
Installing json 2.10.2 with native extensions
Fetching faraday 2.12.2
Installing faraday 2.12.2
Fetching faraday-http-cache 2.5.1
Installing faraday-http-cache 2.5.1
Fetching multipart-post 2.4.1
Installing multipart-post 2.4.1
Fetching faraday-multipart 1.1.0
Installing faraday-multipart 1.1.0
Fetching faraday-retry 2.2.1
Installing faraday-retry 2.2.1
Fetching iri 0.10.0
Installing iri 0.10.0
Fetching retries 0.0.5
Installing retries 0.0.5
Fetching ffi 1.17.1 (x86_64-linux-gnu)
Installing ffi 1.17.1 (x86_64-linux-gnu)
Fetching ethon 0.16.0
Installing ethon 0.16.0
Fetching typhoeus 1.4.1
Installing typhoeus 1.4.1
Fetching baza.rb 0.0.9
Installing baza.rb 0.0.9
Fetching rexml 3.4.1
Installing rexml 3.4.1
Fetching crack 1.0.0
Installing crack 1.0.0
Fetching cucumber-ci-environment 10.0.1
Installing cucumber-ci-environment 10.0.1
Fetching cucumber-messages 22.0.0
Installing cucumber-messages 22.0.0
Fetching cucumber-gherkin 27.0.0
Installing cucumber-gherkin 27.0.0
Fetching cucumber-tag-expressions 6.1.2
Installing cucumber-tag-expressions 6.1.2
Fetching cucumber-core 13.0.3
Installing cucumber-core 13.0.3
Fetching cucumber-cucumber-expressions 17.1.0
Installing cucumber-cucumber-expressions 17.1.0
Fetching cucumber-html-formatter 21.9.0
Installing cucumber-html-formatter 21.9.0
Fetching diff-lcs 1.6.0
Installing diff-lcs 1.6.0
Fetching mini_mime 1.1.5
Installing mini_mime 1.1.5
Fetching multi_test 1.1.0
Installing multi_test 1.1.0
Fetching sys-uname 1.3.1
Installing sys-uname 1.3.1
Fetching cucumber 9.2.1
Installing cucumber 9.2.1
Fetching date 3.4.1
Installing date 3.4.1 with native extensions
Fetching decoor 0.0.1
Installing decoor 0.0.1
Fetching docile 1.4.1
Installing docile 1.4.1
Fetching others 0.0.3
Installing others 0.0.3
Fetching yaml 0.4.0
Installing yaml 0.4.0
Fetching factbase 0.9.1
Installing factbase 0.9.1
Fetching ostruct 0.6.1
Installing ostruct 0.6.1
Fetching gli 2.22.2
Installing gli 2.22.2
Fetching hashdiff 1.1.2
Installing hashdiff 1.1.2
Fetching io-console 0.8.0
Installing io-console 0.8.0 with native extensions
Fetching prettyprint 0.2.0
Installing prettyprint 0.2.0
Fetching pp 0.6.2
Installing pp 0.6.2
Fetching stringio 3.1.5
Installing stringio 3.1.5 with native extensions
Fetching psych 5.2.3
Installing psych 5.2.3 with native extensions
Fetching rdoc 6.12.0
Installing rdoc 6.12.0
Fetching reline 0.6.0
Installing reline 0.6.0
Fetching irb 1.15.1
Installing irb 1.15.1
Fetching moments 0.3.0
Installing moments 0.3.0
Fetching timeout 0.4.3
Installing timeout 0.4.3
Fetching total 0.4.1
Installing total 0.4.1
Fetching language_server-protocol 3.17.0.4
Installing language_server-protocol 3.17.0.4
Fetching lint_roller 1.1.0
Installing lint_roller 1.1.0
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching minitest-reporters 1.7.1
Installing minitest-reporters 1.7.1
Fetching parallel 1.26.3
Installing parallel 1.26.3
Fetching parser 3.3.7.1
Installing parser 3.3.7.1
Fetching rackup 2.2.1
Installing rackup 2.2.1
Fetching thor 1.3.2
Installing thor 1.3.2
Fetching zeitwerk 2.7.2
Installing zeitwerk 2.7.2
Fetching railties 8.0.2
Installing railties 8.0.2
Fetching random-port 0.7.5
Installing random-port 0.7.5
Fetching regexp_parser 2.10.0
Installing regexp_parser 2.10.0
Fetching rspec-support 3.13.2
Installing rspec-support 3.13.2
Fetching rspec-core 3.13.3
Installing rspec-core 3.13.3
Fetching rspec-expectations 3.13.3
Installing rspec-expectations 3.13.3
Fetching rspec-mocks 3.13.2
Installing rspec-mocks 3.13.2
Fetching rspec-rails 7.1.1
Installing rspec-rails 7.1.1
Fetching rubocop-ast 1.38.1
Installing rubocop-ast 1.38.1
Fetching unicode-emoji 4.0.4
Installing unicode-emoji 4.0.4
Fetching unicode-display_width 3.1.4
Installing unicode-display_width 3.1.4
Fetching rubocop 1.73.2
Installing rubocop 1.73.2
Fetching rubocop-minitest 0.37.1
Installing rubocop-minitest 0.37.1
Fetching rubocop-performance 1.24.0
Installing rubocop-performance 1.24.0
Fetching rubocop-rake 0.7.1
Installing rubocop-rake 0.7.1
Fetching rubocop-rspec 3.5.0
Installing rubocop-rspec 3.5.0
Fetching simplecov-html 0.13.1
Installing simplecov-html 0.13.1
Fetching simplecov_json_formatter 0.1.4
Installing simplecov_json_formatter 0.1.4
Fetching simplecov 0.22.0
Installing simplecov 0.22.0
Fetching simplecov-cobertura 2.1.0
Installing simplecov-cobertura 2.1.0
Fetching w3c_validators 1.3.7
Installing w3c_validators 1.3.7
Fetching webmock 3.25.1
Installing webmock 3.25.1
Fetching yard 0.9.37
Installing yard 0.9.37
Bundle complete! 17 Gemfile dependencies, 119 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/usr/local/bundle/gems/bundler-2.5.16/lib/bundler/rubygems_ext.rb:250: warning: method redefined; discarding old encode_with
/usr/local/lib/ruby/3.4.0/rubygems/dependency.rb:341: warning: previous definition of encode_with was here
Coverage report generated for Unit Tests to /home/r/repo/coverage/coverage.xml. 148 / 558 LOC (26.52%) covered
Started with run options --seed 19349

TestJudges
  test_basic                                                     32m PASS0m (0.00s)
  test_get_one                                                   32m PASS0m (0.00s)
  test_list_with_empty_dir                                       32m PASS0m (0.00s)
  test_list_only_direct_subdirs                                  32m PASS0m (0.00s)

TestImport
  test_import_from_yaml                                          32m PASS0m (0.00s)

TestEval
  test_build_factbase_from_scratch                               32m PASS0m (0.00s)

TestInspect
  test_simple_inspect                                            32m PASS0m (0.00s)

TestCategories
  test_basic                                                     32m PASS0m (0.00s)
  test_all_enabled                                               32m PASS0m (0.00s)

TestPush
  test_push_simple_factbase                                      32m PASS0m (0.13s)
  test_fails_on_http_error                                       32m PASS0m (0.01s)

TestJudge
  test_with_runtime_ruby_error                                   32m PASS0m (0.00s)
  test_with_standard_error                                       32m PASS0m (0.00s)
  test_passes_local_vars_between_tests                           32m PASS0m (0.00s)
  test_basic_run                                                 32m PASS0m (0.00s)
  test_sets_start_value_correctly                                32m PASS0m (0.00s)
  test_with_broken_ruby_syntax                                   32m PASS0m (0.00s)
  test_sets_judge_value_correctly                                32m PASS0m (0.00s)
  test_run_isolated                                              32m PASS0m (0.00s)

TestPull
  test_pull_simple_factbase                                      32m PASS0m (0.03s)
  test_fail_pull_when_job_is_broken                              32m PASS0m (0.01s)

TestImpex
  test_strict_import                                             32m PASS0m (0.00s)
  test_basic                                                     32m PASS0m (0.00s)

TestTrim
  test_trims_factbase                                            32m PASS0m (0.02s)

TestOptions
  test_basic                                                     32m PASS0m (0.00s)
  test_with_hash                                                 32m PASS0m (0.00s)
  test_with_string                                               32m PASS0m (0.00s)
  test_with_nil                                                  32m PASS0m (0.00s)
  test_case_insensitive                                          32m PASS0m (0.00s)
  test_merge                                                     32m PASS0m (0.00s)
  test_with_empty_strings                                        32m PASS0m (0.00s)
  test_merge_by_symbols                                          32m PASS0m (0.00s)
  test_stips_spaces                                              32m PASS0m (0.00s)
  test_with_empty_string                                         32m PASS0m (0.00s)
  test_converts_to_string                                        32m PASS0m (0.00s)

TestJoin
  test_simple_join                                               32m PASS0m (0.00s)

TestTest
  test_with_expected_failure_no_string                           32m PASS0m (0.00s)
  test_with_options                                              32m PASS0m (0.00s)
  test_one_judge_negative                                        32m PASS0m (0.00s)
  test_negative                                                  32m PASS0m (0.00s)
  test_with_before                                               32m PASS0m (0.00s)
  test_with_expected_failure                                     32m PASS0m (0.00s)
  test_with_after_assertion                                      32m PASS0m (0.00s)
  test_positive                                                  32m PASS0m (0.00s)

TestToRel
  test_simple_mapping                                            32m PASS0m (0.00s)
  test_maps_dir_name                                             32m PASS0m (0.00s)

TestBin
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/text_wrapper.rb:48: warning: character class has duplicated range: /[\n\s]*\Z/
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/global_help_format.rb:30: warning: assigned but unused variable - global_option_descriptions
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/global_help_format.rb:28: warning: assigned but unused variable - commands
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/global_help_format.rb:14: warning: assigned but unused variable - program_desc
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:17: warning: assigned but unused variable - wrapper
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:21: warning: assigned but unused variable - command_examples
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:16: warning: assigned but unused variable - command_wrapper
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:20: warning: assigned but unused variable - commands_description
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:23: warning: assigned but unused variable - synopses
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/command_help_format.rb:19: warning: assigned but unused variable - options_description
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/full_synopsis_formatter.rb:29: warning: assigned but unused variable - sub_options_doc
/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/help_modules/full_synopsis_formatter.rb:92: warning: assigned but unused variable - synopses
/usr/local/lib/ruby/3.4.0/bundled_gems.rb:82: warning: /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82: warning: loading in progress, circular require considered harmful - /usr/local/bundle/gems/gli-2.22.2/lib/gli.rb
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:86:in  'block in autorun'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:288:in  'run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:332:in  '__run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:332:in  'map'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:332:in  'block in __run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:429:in  'run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:459:in  'with_info_handler'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:472:in  'on_signal'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:430:in  'block in run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:430:in  'each'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:434:in  'block (2 levels) in run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:447:in  'run_one_method'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:1208:in  'run_one_method'
        from /usr/local/bundle/gems/minitest-reporters-1.7.1/lib/minitest/reporters.rb:48:in  'run_with_hooks'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb:88:in  'run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb:368:in  'time_it'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb:89:in  'block in run'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb:190:in  'capture_exceptions'
        from /usr/local/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb:94:in  'block (2 levels) in run'
        from /home/r/repo/test/test_bin.rb:15:in  'test_simple_run'
        from /home/r/repo/test/test_bin.rb:15:in  'load'
        from /home/r/repo/bin/judges:8:in  '<top (required)>'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'block (2 levels) in replace_require'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'require'
        from /usr/local/bundle/gems/gli-2.22.2/lib/gli.rb:21:in  '<top (required)>'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'block (2 levels) in replace_require'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'require'
        from /usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/initconfig.rb:1:in  '<top (required)>'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'block (2 levels) in replace_require'
        from /usr/local/lib/ruby/3.4.0/bundled_gems.rb:82:in  'require'

/usr/local/bundle/gems/gli-2.22.2/lib/gli/commands/doc.rb:145: warning: assigned but unused variable - ex
/home/r/repo/bin/judges:15: warning: setting Encoding.default_external
/home/r/repo/bin/judges:16: warning: setting Encoding.default_internal
  test_simple_run                                                32m PASS0m (0.07s)

TestPrint
  test_print_all_formats                                         32m PASS0m (0.01s)
  test_print_to_html                                             32m PASS0m (0.14s)
  test_simple_print                                              32m PASS0m (0.00s)
  test_print_twice                                               32m PASS0m (0.00s)

TestUpdate
  test_update_with_options_in_file                               32m PASS0m (0.00s)
/tmp/d20250312-598-hol9k2/bar/bar.rb:1: warning: ambiguous first argument; put parentheses or a space even after `-` operator
/tmp/d20250312-598-hol9k2/bar/bar.rb:1: warning: possibly useless use of -@ in void context
/tmp/d20250312-598-hol9k2/bar/bar.rb:1: warning: possibly useless use of -@ in void context
/tmp/d20250312-598-hol9k2/bar/bar.rb:1: warning: possibly useless use of -@ in void context
  test_with_only_one_judge                                       32m PASS0m (0.01s)
  test_cancels_slow_judge                                        32m PASS0m (0.10s)
  test_build_factbase_from_scratch                               32m PASS0m (0.01s)
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-ytryc2/foo/foo.rb:1: warning: possibly useless use of a variable in void context
  test_update_with_error_and_summary                             32m PASS0m (0.01s)
/tmp/d20250312-598-tsqhkh/foo/foo.rb:1: warning: possibly useless use of < in void context
  test_update_with_error_no_quiet                                32m PASS0m (0.00s)
/tmp/d20250312-598-cwwt96/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-cwwt96/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-cwwt96/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20250312-598-cwwt96/foo/foo.rb:1: warning: possibly useless use of a variable in void context
  test_update_with_error                                         32m PASS0m (0.00s)
  test_extend_existing_factbase                                  32m PASS0m (0.00s)

Finished in 0.68481s
59 tests, 116 assertions, 32m0 failures, 0 errors, 0m33m0 skips0m
/usr/local/bin/ruby -S bundle exec cucumber --no-color --format=pretty --retry=2 --fail-fast --backtrace --order=random
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
# SPDX-License-Identifier: MIT
Feature: Update
  I want to run a few judges over a factbase

  Scenario: Avoid duplicate insert on error in the middle                     # features/update.feature:89
    Given I make a temp directory                                             # features/step_definitions/steps.rb:27
    Then I have a "mine/foo/foo.rb" file with content:                        # features/step_definitions/steps.rb:33
      """
      return unless $fb.query('(eq foo 42)').each.to_a.empty?
      f = $fb.insert
      f.foo = 42
      raise 'intentional'
      """
    Then I run bin/judges with "update --quiet --max-cycles=3 mine simple.fb" # features/step_definitions/steps.rb:38
    And Exit code is zero                                                     # features/step_definitions/steps.rb:67
    Then I run bin/judges with "inspect simple.fb"                            # features/step_definitions/steps.rb:38
    Then Stdout contains "Facts: 1"                                           # features/step_definitions/steps.rb:59

Feature: Print
  I want to print a factbase

  Scenario: Simple print of a small factbase, to XML, with a query              # features/print.feature:35
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 43'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print '--query=(eq foo 43)' --auto simple.fb"   # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Test with a post-assert                        # features/test.feature:151
    Given I make a temp directory                          # features/step_definitions/steps.rb:27
    Then I have a "mine/foo/foo.rb" file with content:     # features/step_definitions/steps.rb:33
      """
      n = $fb.insert
      n.foo = 42
      """
    Then I have a "mine/foo/assert.rb" file with content:  # features/step_definitions/steps.rb:33
      """
      raise unless $fb.size == 1
      """
    Then I have a "mine/foo/simple.yml" file with content: # features/step_definitions/steps.rb:33
      """
      ---
      expected:
        - /fb[count(f)=1]
      after:
        - assert.rb
      """
    Then I run bin/judges with "test mine"                 # features/step_definitions/steps.rb:38
    And Exit code is zero                                  # features/step_definitions/steps.rb:67

  Scenario: Factbase version can be set                                                   # features/test.feature:18
    When I run bin/judges with "--factbase 0.9.1 --verbose test --judge guess ./fixtures" # features/step_definitions/steps.rb:38
    Then Exit code is zero                                                                # features/step_definitions/steps.rb:67
    And Stdout contains "Factbase version to be used: '0.9.1'"                            # features/step_definitions/steps.rb:59

  Scenario: Enable only one category                         # features/test.feature:97
    Given I make a temp directory                            # features/step_definitions/steps.rb:27
    Then I have a "mine/good/good.rb" file with content:     # features/step_definitions/steps.rb:33
      """
      n = $fb.insert
      """
    Then I have a "mine/good/good.yml" file with content:    # features/step_definitions/steps.rb:33
      """
      ---
      category: good
      input: []
      """
    Then I have a "mine/bad/bad.rb" file with content:       # features/step_definitions/steps.rb:33
      """
      broken$ruby$syntax
      """
    Then I have a "mine/bad/bad.yml" file with content:      # features/step_definitions/steps.rb:33
      """
      ---
      category: bad
      """
    Then I run bin/judges with "test --enable good mine"     # features/step_definitions/steps.rb:38
    Then Stdout contains "All 2 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:59
    And Exit code is zero                                    # features/step_definitions/steps.rb:67
    Then I run bin/judges with "test --disable bad mine"     # features/step_definitions/steps.rb:38
    Then Stdout contains "All 2 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:59
    And Exit code is zero                                    # features/step_definitions/steps.rb:67
    Then I run bin/judges with "test --enable bad mine"      # features/step_definitions/steps.rb:38
    Then Stdout contains "Testing mine/bad/bad.yml"          # features/step_definitions/steps.rb:59
    And Exit code is not zero                                # features/step_definitions/steps.rb:71

  Scenario: Simple test with many runs and many asserts      # features/test.feature:77
    Given I make a temp directory                            # features/step_definitions/steps.rb:27
    Then I have a "foo/foo.rb" file with content:            # features/step_definitions/steps.rb:33
      """
        n = $fb.insert
        n.foo = $fb.size
      """
    Then I have a "foo/good.yml" file with content:          # features/step_definitions/steps.rb:33
      """
      ---
      runs: 5
      input: []
      assert_once: false
      expected:
        - /fb/f[foo = 1]
      """
    Then I run bin/judges with "test ."                      # features/step_definitions/steps.rb:38
    Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:59
    And Exit code is zero                                    # features/step_definitions/steps.rb:67

Feature: Gem Package
  As a source code writer I want to be able to
  judgeage the Gem into .gem file

  Scenario: Gem can be packaged                 # features/gem_package.feature:8
    Given I make a temp directory               # features/step_definitions/steps.rb:27
    Then I have a "execs.rb" file with content: # features/step_definitions/steps.rb:33
      """
      #!/usr/bin/env ruby
      require 'rubygems'
      spec = Gem::Specification::load('./spec.rb')
      if spec.executables.empty?
        fail 'no executables: ' + File.read('./spec.rb')
      end
      """
WARNING:  open-ended dependency on factbase (>= 0.9.1) is not recommended
  if factbase is semantically versioned, use:
    add_runtime_dependency "factbase", "~> 0.9", ">= 0.9.1"
WARNING:  See https://guides.rubygems.org/specification-reference/ for help
    When I run bash with:                       # features/step_definitions/steps.rb:53
      """
      cd judges
      gem build judges.gemspec
      gem specification --ruby judges-*.gem > ../spec.rb
      cd ..
      ruby execs.rb
      """
    Then Exit code is zero                      # features/step_definitions/steps.rb:67

Feature: Update
  I want to run a few judges over a factbase

  Scenario: Simple run of a few judges, with a lib                                # features/update.feature:53
    Given I make a temp directory                                                 # features/step_definitions/steps.rb:27
    Then I have a "mine/judge1/judge1.rb" file with content:                      # features/step_definitions/steps.rb:33
      &quot;&quot;&quot;
        n = $fb.insert
        n.foo = $foo
      &quot;&quot;&quot;
    Then I have a &quot;mylib/foo.rb&quot; file with content:                               # features/step_definitions/steps.rb:33
      &quot;&quot;&quot;
        $foo = 42
      &quot;&quot;&quot;
    Then I run bin/judges with &quot;update --lib mylib --max-cycles 1 mine simple.fb&quot; # features/step_definitions/steps.rb:38
    Then Stdout contains &quot;1 judge(s) processed&quot;                                   # features/step_definitions/steps.rb:59
    Then Stdout contains &quot;Update finished in 1 cycle(s)&quot;                          # features/step_definitions/steps.rb:59
    And Exit code is zero                                                         # features/step_definitions/steps.rb:67

Feature: Print
  I want to print a factbase

  Scenario: Simple print of a small factbase, to XML                            # features/print.feature:28
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print --format=xml --auto simple.fb"            # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Update
  I want to run a few judges over a factbase

  Scenario: Simple run of a few judges                                                                 # features/update.feature:7
    Given I make a temp directory                                                                      # features/step_definitions/steps.rb:27
    Then I have a "simple/simple.rb" file with content:                                                # features/step_definitions/steps.rb:33
      """
        n = $fb.insert
        n.kind = 'yes!'
      """
    Then I run bin/judges with "--verbose update --quiet -o foo=1 -o bar=2 --max-cycles 3 . simple.fb" # features/step_definitions/steps.rb:38
    Then Stdout contains "FOO → "                                                                      # features/step_definitions/steps.rb:59
    Then Stdout contains "BAR → "                                                                      # features/step_definitions/steps.rb:59
    Then Stdout contains "1 judge(s) processed"                                                        # features/step_definitions/steps.rb:59
    Then Stdout contains "Update finished in 3 cycle(s), did 3i/0d/3a"                                 # features/step_definitions/steps.rb:59
    And Exit code is zero                                                                              # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Simple test of no judges at all           # features/test.feature:32
    Given I make a temp directory                     # features/step_definitions/steps.rb:27
    Given I run bin/judges with "test --judge some ." # features/step_definitions/steps.rb:38
    Then Exit code is not zero                        # features/step_definitions/steps.rb:71

Feature: Print
  I want to print a factbase

  Scenario: Print twice, without --force                                        # features/print.feature:43
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print --auto simple.fb"                         # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    Then I run bin/judges with "print --auto simple.fb"                         # features/step_definitions/steps.rb:38
    Then Stdout contains "No need to print"                                     # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Simple test of no judges                                      # features/test.feature:23
    Given I run bin/judges with "test --judge absent_for_sure ./fixtures" # features/step_definitions/steps.rb:38
    Then Exit code is zero                                                # features/step_definitions/steps.rb:67

Feature: Update
  I want to run a few judges over a factbase

  Scenario: Use options from a file                                                           # features/update.feature:21
    Given I make a temp directory                                                             # features/step_definitions/steps.rb:27
    Then I have a "simple/simple.rb" file with content:                                       # features/step_definitions/steps.rb:33
      """
        n.kind.foo = $options.a1
      """
    Then I have a "opts.txt" file with content:                                               # features/step_definitions/steps.rb:33
      """
        a1 = test
        a2 = another test
      """
    Then I run bin/judges with "--verbose update --quiet --options-file opts.txt . simple.fb" # features/step_definitions/steps.rb:38
    Then Stdout contains "A1 → "                                                              # features/step_definitions/steps.rb:59
    Then Stdout contains "A2 → "                                                              # features/step_definitions/steps.rb:59
    Then Stdout contains "1 judge(s) processed"                                               # features/step_definitions/steps.rb:59
    Then Stdout contains "Update finished"                                                    # features/step_definitions/steps.rb:59
    And Exit code is zero                                                                     # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Simple test of a few judges                      # features/test.feature:7
    Given I run bin/judges with "test ./fixtures"            # features/step_definitions/steps.rb:38
    Then Stdout contains "πŸ‘‰ Testing"                         # features/step_definitions/steps.rb:59
    Then Stdout contains "All 3 judge(s) and 3 tests passed" # features/step_definitions/steps.rb:59
    And Exit code is zero                                    # features/step_definitions/steps.rb:67

  Scenario: Test with a pre-condition                         # features/test.feature:128
    Given I make a temp directory                             # features/step_definitions/steps.rb:27
    Then I have a "mine/first/first.rb" file with content:    # features/step_definitions/steps.rb:33
      """
      n = $fb.insert
      n.foo = 42
      """
    Then I have a "mine/second/second.rb" file with content:  # features/step_definitions/steps.rb:33
      """
      n = $fb.insert
      n.foo = 55
      """
    Then I have a "mine/second/second.yml" file with content: # features/step_definitions/steps.rb:33
      """
      ---
      before:
        - first
      expected:
        - /fb[count(f)=2]
      """
    Then I run bin/judges with "test mine"                    # features/step_definitions/steps.rb:38
    And Exit code is zero                                     # features/step_definitions/steps.rb:67

  Scenario: Simple test with many runs                       # features/test.feature:58
    Given I make a temp directory                            # features/step_definitions/steps.rb:27
    Then I have a &quot;foo/foo.rb&quot; file with content:            # features/step_definitions/steps.rb:33
      &quot;&quot;&quot;
        n = $fb.insert
        n.foo = $fb.size
      &quot;&quot;&quot;
    Then I have a &quot;foo/good.yml&quot; file with content:          # features/step_definitions/steps.rb:33
      """
      ---
      runs: 5
      input: []
      expected:
        - /fb[count(f)=5]
      """
    Then I run bin/judges with "test ."                      # features/step_definitions/steps.rb:38
    Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:59
    And Exit code is zero                                    # features/step_definitions/steps.rb:67

Feature: Inspect
  I want to inspect a factbase

  Scenario: Simple inspect of a small factbase                                  # features/inspect.feature:7
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "update . simple.fb"                             # features/step_definitions/steps.rb:38
    Then I run bin/judges with "inspect simple.fb"                              # features/step_definitions/steps.rb:38
    Then Stdout contains "Facts: 1"                                             # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Update
  I want to run a few judges over a factbase

  Scenario: Simple run with a timeout for a judge                              # features/update.feature:39
    Given I make a temp directory                                              # features/step_definitions/steps.rb:27
    Then I have a "slow/slow.rb" file with content:                            # features/step_definitions/steps.rb:33
      """
        sleep(10)
        $fb.insert.foo = 1
      """
    Then I run bin/judges with "--verbose update --timeout 1 --quiet . foo.fb" # features/step_definitions/steps.rb:38
    Then Stdout contains "execution expired"                                   # features/step_definitions/steps.rb:59
    Then Stdout contains "judge timed out"                                     # features/step_definitions/steps.rb:59
    Then Stdout contains "1 judge(s) processed"                                # features/step_definitions/steps.rb:59
    Then Stdout contains "Update finished in 1 cycle(s), did 0i/0d/0a"         # features/step_definitions/steps.rb:59
    And Exit code is zero                                                      # features/step_definitions/steps.rb:67

Feature: Print
  I want to print a factbase

  Scenario: Simple print of a small factbase, to HTML                           # features/print.feature:14
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print --format=html simple.fb simple.html"      # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Pull
  I want to pull a factbase

  Scenario: Pull a small factbase, which is absent on the server                                                             # features/pull.feature:7
    Given We are online                                                                                                      # features/step_definitions/steps.rb:21
    Given I make a temp directory                                                                                            # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose pull --token 00000000-0000-0000-0000-000000000000 --wait=15 fake421715dd24f6482d simple.fb # features/step_definitions/steps.rb:38
    Then Stdout contains "doesn't exist at api.zerocracy.com"                                                                # features/step_definitions/steps.rb:59
    And Exit code is zero                                                                                                    # features/step_definitions/steps.rb:67

Feature: Misc
  I want to get some meta info

  Scenario: Version can be printed         # features/misc.feature:12
    When I run bin/judges with "--version" # features/step_definitions/steps.rb:38
    Then Exit code is zero                 # features/step_definitions/steps.rb:67

Feature: Update
  I want to run a few judges over a factbase

  Scenario: The update fails when a bug in a judge           # features/update.feature:69
    Given I make a temp directory                            # features/step_definitions/steps.rb:27
    Then I have a "mine/broken/broken.rb" file with content: # features/step_definitions/steps.rb:33
      """
      a < 1
      """
    Then I run bin/judges with "update mine simple.fb"       # features/step_definitions/steps.rb:38
    Then Stdout contains "Failed to update correctly"        # features/step_definitions/steps.rb:59
    And Exit code is not zero                                # features/step_definitions/steps.rb:71

Feature: Join
  I want to join two factbases

  Scenario: Simple join of two small factbases                                  # features/join.feature:7
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval first.fb '$fb.insert.foo = 42'"  # features/step_definitions/steps.rb:38
    Then I run bin/judges with "--verbose eval second.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "update . first.fb"                              # features/step_definitions/steps.rb:38
    Then I run bin/judges with "update . second.fb"                             # features/step_definitions/steps.rb:38
    Then I run bin/judges with "join first.fb second.fb"                        # features/step_definitions/steps.rb:38
    Then Exit code is zero                                                      # features/step_definitions/steps.rb:67
    And Stdout contains "joined"                                                # features/step_definitions/steps.rb:59

Feature: Misc
  I want to get some meta info

  Scenario: Help can be printed     # features/misc.feature:7
    When I run bin/judges with "-h" # features/step_definitions/steps.rb:38
    Then Exit code is zero          # features/step_definitions/steps.rb:67
    And Stdout contains "--help"    # features/step_definitions/steps.rb:59

Feature: Update
  I want to run a few judges over a factbase

  Scenario: The update fails when a broken Ruby syntax in a judge # features/update.feature:79
    Given I make a temp directory                                 # features/step_definitions/steps.rb:27
    Then I have a "mine/broken/broken.rb" file with content:      # features/step_definitions/steps.rb:33
      """
      invalid$ruby$syntax$here
      "&quot;&quot;
    Then I run bin/judges with &quot;update mine simple.fb&quot;            # features/step_definitions/steps.rb:38
    Then Stdout contains &quot;Failed to update correctly&quot;             # features/step_definitions/steps.rb:59
    And Exit code is not zero                                     # features/step_definitions/steps.rb:71

Feature: Test
  I want to test a few judges

  Scenario: Simple test of no judges at all # features/test.feature:27
    Given I make a temp directory           # features/step_definitions/steps.rb:27
    Given I run bin/judges with "test ."    # features/step_definitions/steps.rb:38
    Then Exit code is not zero              # features/step_definitions/steps.rb:71

Feature: Trim
  I want to trim a factbase

  Scenario: Delete nothing by default                                           # features/trim.feature:14
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Given I run bin/judges with "trim simple.fb"                                # features/step_definitions/steps.rb:38
    Then Stdout contains "No facts deleted"                                     # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Push
  I want to push a factbase

  Scenario: Push a small factbase                                                                                                                                                                                   # features/push.feature:7
    Given We are online                                                                                                                                                                                             # features/step_definitions/steps.rb:21
    Given I make a temp directory                                                                                                                                                                                   # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '(0..1000).each { $fb.insert.foo = 42 }'"                                                                                                                  # features/step_definitions/steps.rb:38
    And Exit code is zero                                                                                                                                                                                           # features/step_definitions/steps.rb:67
    Then I run bin/judges with "push --token 00000000-0000-0000-0000-000000000000 --meta a:b --meta foo:bar --meta=pages_url:https://zerocracy.github.io/zerocracy.html --meta=duration:1055 fakeb273b7387fdd1166 simple.fb # features/step_definitions/steps.rb:38
    Then Stdout contains "Pushed"                                                                                                                                                                                   # features/step_definitions/steps.rb:59
    And Exit code is zero                                                                                                                                                                                           # features/step_definitions/steps.rb:67

Feature: Print
  I want to print a factbase

  Scenario: Simple print of a small factbase, to YAML                           # features/print.feature:7
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print --format=yaml simple.fb simple.yml"       # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Simple test of a few judges, with a lib           # features/test.feature:37
    Given I make a temp directory                             # features/step_definitions/steps.rb:27
    Then I have a "myjudges/good/good.rb" file with content:  # features/step_definitions/steps.rb:33
      """
        n = $fb.insert
        n.foo = $foo
      """
    Then I have a "myjudges/good/good.yml" file with content: # features/step_definitions/steps.rb:33
      """
      ---
      category: good
      input: []
      """
    Then I have a "mylib/foo.rb" file with content:           # features/step_definitions/steps.rb:33
      """
        $foo = 42
      """
    Then I run bin/judges with "test --lib mylib myjudges"    # features/step_definitions/steps.rb:38
    Then Stdout contains "All 1 judge(s) and 1 tests passed"  # features/step_definitions/steps.rb:59
    And Exit code is zero                                     # features/step_definitions/steps.rb:67

Feature: Print
  I want to print a factbase

  Scenario: Simple print of a small factbase, to JSON                           # features/print.feature:21
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Then I run bin/judges with "print --format=json simple.fb simple.json"      # features/step_definitions/steps.rb:38
    Then Stdout contains "printed"                                              # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Test
  I want to test a few judges

  Scenario: Test with exception                            # features/test.feature:173
    Given I make a temp directory                          # features/step_definitions/steps.rb:27
    Then I have a "mine/foo/foo.rb" file with content:     # features/step_definitions/steps.rb:33
      """
      raise 'this is a joke'
      """
    Then I have a "mine/foo/simple.yml" file with content: # features/step_definitions/steps.rb:33
      """
      ---
      expected_failure:
        - a joke
      """
    Then I run bin/judges with "test mine"                 # features/step_definitions/steps.rb:38
    And Exit code is zero                                  # features/step_definitions/steps.rb:67

  Scenario: Simple test of just one judge                       # features/test.feature:13
    Given I run bin/judges with "test --judge guess ./fixtures" # features/step_definitions/steps.rb:38
    Then Stdout contains "All 1 judge(s) and 1 tests passed"    # features/step_definitions/steps.rb:59
    And Exit code is zero                                       # features/step_definitions/steps.rb:67

Feature: Trim
  I want to trim a factbase

  Scenario: Simple trimming of a factbase, with a query                         # features/trim.feature:7
    Given I make a temp directory                                               # features/step_definitions/steps.rb:27
    Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:38
    Given I run bin/judges with "trim --query '(eq foo 42)' simple.fb"          # features/step_definitions/steps.rb:38
    Then Stdout contains "1 fact(s) deleted"                                    # features/step_definitions/steps.rb:59
    And Exit code is zero                                                       # features/step_definitions/steps.rb:67

Feature: Import
  I want to import YAML into a factbase

  Scenario: Simple import of a small YAML                               # features/import.feature:7
    Given I make a temp directory                                       # features/step_definitions/steps.rb:27
    Then I have a "simple.yaml" file with content:                      # features/step_definitions/steps.rb:33
      """
      -
        foo: 42
        bar: 2024-03-04T22:22:22Z
        t: Hello, world!
      -
        z: 3.14
      """
    Then I run bin/judges with "--verbose import simple.yaml simple.fb" # features/step_definitions/steps.rb:38
    Then Stdout contains "Import of 2 facts finished"                   # features/step_definitions/steps.rb:59
    And Exit code is zero                                               # features/step_definitions/steps.rb:67

36 scenarios (36 passed)
199 steps (199 passed)
0m31.883s

Randomized with seed 19822
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Share your Cucumber Report with your team at https://reports.cucumber.io     β”‚
β”‚                                                                              β”‚
β”‚ Command line option:    --publish                                            β”‚
β”‚ Environment variable:   CUCUMBER_PUBLISH_ENABLED=true                        β”‚
β”‚ cucumber.yml:           default: --publish                                   β”‚
β”‚                                                                              β”‚
β”‚ More information at https://cucumber.io/docs/cucumber/environment-variables/ β”‚
β”‚                                                                              β”‚
β”‚ To disable this message, specify CUCUMBER_PUBLISH_QUIET=true or use the      β”‚
β”‚ --publish-quiet option. You can also add this to your cucumber.yml:          β”‚
β”‚ default: --publish-quiet                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Coverage report generated for Cucumber Features, Unit Tests to /home/r/repo/coverage.
Line Coverage: 26.52% (148 / 558)
Running RuboCop...
33mrubocop-rspec gem supports plugin, use `--plugin` instead of `--require`.
0m
Inspecting 44 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.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m

44 files inspected, 32mno offenses0m detected
[warn]:mInGfilea`README.md':12:hCannot0resolvellinkmto0<code>Factbase</code><a from text:
        ...{<code>Factbase</code><a href="https://www.rubydoc.info/gems/factbase/0.0.22/Factbase">}...
[warn]: In file `README.md':14: Cannot resolve link to <code>Loog</code><a from text:
        ...{<code>Loog</code><a href="https://www.rubydoc.info/gems/loog/0.5.1/Loog">}...
[warn]:KIn5file `README.md':12:fCannotAresolvellink to <code>Factbase</code><a from text:
        ...{<code>Factbase</code><a href="https://www.rubydoc.info/gems/factbase/0.0.22/Factbase">}...
[warn]: In file `README.md':14: Cannot resolve link to <code>Loog</code><a from text:
        ...{<code>Loog</code><a href="https://www.rubydoc.info/gems/loog/0.5.1/Loog">}...
?25h2KFiles:1mβ’ΏaGenera17ngudoc/Judges/Inspect.html0ml0m0m
Modules:         1 (    0 undocumented)
Classes:        16 (    0 undocumented)
Constants:       1 (    1 undocumented)
Attributes:      1 (    0 undocumented)
Methods:        41 (    9 undocumented)
 83.33% documented
[__rultor ecfc21f] version set to 0.36.3
 2 files changed, 2 insertions(+), 2 deletions(-)
WARNING:  open-ended dependency on factbase (>= 0.9.1) is not recommended
  if factbase is semantically versioned, use:
    add_runtime_dependency "factbase", "~> 0.9", ">= 0.9.1"
WARNING:  See https://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: judges
  Version: 0.36.3
  File: judges-0.36.3.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: judges (0.36.3)
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R ubuntu repo
+ cd repo
+ git checkout __rultor
Already on '__rultor'
+ git tag 0.36.3 -m '0.36.3: tagged by rultor.com'
+ git reset --hard
HEAD is now at ecfc21f version set to 0.36.3
+ 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 ecfc21f).
+ git push --all origin
Everything up-to-date
+ git push --tags origin
To github.com:yegor256/judges.git
 * [new tag]         0.36.3 -> 0.36.3
container fe06e7c1b40901cf40d60fd271cab2d09d00a0fc2b5403aa632dc236bf495cbe is dead
Wed Mar 12 16:44:32 UTC 2025