+ set -e
+ set -o pipefail
++ dirname ./run.sh
+ cd .
+ echo 1221
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Mon Jan 20 15:35:35 UTC 2025
+ uptime
15:35:35 up 1 min, 0 users, load average: 0.64, 0.24, 0.09
+ ff=default
+ image=yegor256/rultor-ruby
+ rebase=false
+ head_branch=master
+ pull_title='Update dependency rubocop-rspec to v3.4.0'
+ author=yegor256
+ directory=
+ head=git@github.com:yegor256/judges.git
+ pull_id=164
+ fork=git@github.com:yegor256/judges.git
+ fork_branch=renovate/rubocop-rspec-3.x
+ squash=false
+ vars=('--env=head=git@github.com:yegor256/judges.git' '--env=pull_id=164' '--env=fork=git@github.com:yegor256/judges.git' '--env=fork_branch=renovate/rubocop-rspec-3.x' '--env=head_branch=master' '--env=pull_title=Update dependency rubocop-rspec to v3.4.0' '--env=author=yegor256' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=164'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/rubocop-rspec-3.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update dependency rubocop-rspec to v3.4.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' )')
+ scripts=('export '\''head=git@github.com:yegor256/judges.git'\''' ';' 'export '\''pull_id=164'\''' ';' 'export '\''fork=git@github.com:yegor256/judges.git'\''' ';' 'export '\''fork_branch=renovate/rubocop-rspec-3.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update dependency rubocop-rspec to v3.4.0'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' 'bundle exec rake' ';')
+ container=yegor256_judges_164
+ as_root=false
+ hostname
ip-172-31-23-248
+ pwd
/tmp/rultor-O8Cy
+ 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 '\''pull_id=164'\''' ';' 'export '\''fork=git@github.com:yegor256/judges.git'\''' ';' 'export '\''fork_branch=renovate/rubocop-rspec-3.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update dependency rubocop-rspec to v3.4.0'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' 'bundle exec rake' ';'
+ sensitive=()
+ rm -rf .gnupg
+ set -ex
+ cd repo
+ git remote add fork git@github.com:yegor256/judges.git
+ git remote update
Fetching origin
Fetching fork
From github.com:yegor256/judges
* [new branch] 136 -> fork/136
* [new branch] 94 -> fork/94
* [new branch] gh-pages -> fork/gh-pages
* [new branch] master -> fork/master
* [new branch] renovate/rubocop-rspec-3.x -> fork/renovate/rubocop-rspec-3.x
+ args=
+ '[' default == default ']'
+ args=' --ff'
+ '[' default == no ']'
+ '[' default == only ']'
+ export BRANCH=__rultor
+ BRANCH=__rultor
++ wc -l
++ git show-branch __rultor
+ '[' 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/renovate/rubocop-rspec-3.x
Switched to a new branch '__rultor'
Branch '__rultor' set up to track remote branch 'renovate/rubocop-rspec-3.x' 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 237b72e..ce1e96b
Fast-forward
Gemfile | 2 +-
Gemfile.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
+ docker_when_possible
+ true
++ tail -n 1
++ sed 's/ /\n/g'
++ uptime
+ load=0.09
++ bc
++ echo 0.09 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.09, low enough to run a new Docker container'
load average is 0.09, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/rultor-ruby
+ docker pull yegor256/rultor-ruby
Using default tag: latest
latest: Pulling from yegor256/rultor-ruby
dafa2b0c44d2: Pulling fs layer
4f4fb700ef54: Pulling fs layer
5ccf01e6cefd: Pulling fs layer
4a5449bec489: Pulling fs layer
ac7832f41460: Pulling fs layer
d63b8b04cafc: Pulling fs layer
7d5af111f2cc: Pulling fs layer
720999eee6d5: Pulling fs layer
99fbfb6da2e7: Pulling fs layer
2407230a9192: Pulling fs layer
7f36f52815f4: Pulling fs layer
4a5449bec489: Waiting
ac7832f41460: Waiting
d63b8b04cafc: Waiting
7d5af111f2cc: Waiting
720999eee6d5: Waiting
99fbfb6da2e7: Waiting
2407230a9192: Waiting
7f36f52815f4: Waiting
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
4a5449bec489: Verifying Checksum
4a5449bec489: Download complete
dafa2b0c44d2: Verifying Checksum
dafa2b0c44d2: Download complete
d63b8b04cafc: Verifying Checksum
d63b8b04cafc: Download complete
7d5af111f2cc: Verifying Checksum
7d5af111f2cc: Download complete
720999eee6d5: Verifying Checksum
720999eee6d5: Download complete
5ccf01e6cefd: Verifying Checksum
5ccf01e6cefd: Download complete
ac7832f41460: Verifying Checksum
ac7832f41460: Download complete
7f36f52815f4: Verifying Checksum
7f36f52815f4: Download complete
99fbfb6da2e7: Verifying Checksum
99fbfb6da2e7: Download complete
2407230a9192: Verifying Checksum
2407230a9192: Download complete
dafa2b0c44d2: Pull complete
4f4fb700ef54: Pull complete
5ccf01e6cefd: Pull complete
4a5449bec489: Pull complete
ac7832f41460: Pull complete
d63b8b04cafc: Pull complete
7d5af111f2cc: Pull complete
720999eee6d5: Pull complete
99fbfb6da2e7: Pull complete
2407230a9192: Pull complete
7f36f52815f4: Pull complete
Digest: sha256:016cc75a948fa99d2fc1ac9be795ad3ca37cb8a3b15d9384b8f1cbd094bc3c94
Status: Downloaded newer image for yegor256/rultor-ruby:latest
docker.io/yegor256/rultor-ruby:latest
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_judges_164\s*$'
+ ls -al .
total 52
drwx------ 3 ubuntu ubuntu 4096 Jan 20 15:35 .
drwxrwxrwt 12 root root 4096 Jan 20 15:35 ..
-rwxrwxr-x 1 ubuntu ubuntu 2090 Jan 20 15:35 end.sh
-rwxrwxr-x 1 ubuntu ubuntu 490 Jan 20 15:35 entry.sh
-rw-rw-r-- 1 ubuntu ubuntu 5 Jan 20 15:35 pid
drwxrwxr-x 10 ubuntu ubuntu 4096 Jan 20 15:35 repo
-rw-rw-r-- 1 ubuntu ubuntu 81 Jan 20 15:35 rubygems.yml
-rwxrwxr-x 1 ubuntu ubuntu 9140 Jan 20 15:35 run.sh
-rw-rw-r-- 1 ubuntu ubuntu 541 Jan 20 15:35 script.sh
-rw-rw-r-- 1 ubuntu ubuntu 6731 Jan 20 15:36 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-O8Cy:/main --env=head=git@github.com:yegor256/judges.git --env=pull_id=164 --env=fork=git@github.com:yegor256/judges.git --env=fork_branch=renovate/rubocop-rspec-3.x --env=head_branch=master '--env=pull_title=Update dependency rubocop-rspec to v3.4.0' --env=author=yegor256 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=164'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/rubocop-rspec-3.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update dependency rubocop-rspec to v3.4.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' )' --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-O8Cy/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_judges_164 yegor256/rultor-ruby /main/entry.sh
WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
+ set -e
+ set -o pipefail
+ shopt -s dotglob
+ useradd -m -G sudo r
++ 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 ubuntu 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 r r
+ usermod -s /bin/bash r
+ echo '%sudo ALL=(ALL) NOPASSWD:ALL'
+ cp -R /root/.bashrc /root/.cache /root/.gem /root/.gemrc /root/.gnupg /root/.profile /root/.rvmrc /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 'pull_id=164' ; export 'fork=git@github.com:yegor256/judges.git' ; export 'fork_branch=renovate/rubocop-rspec-3.x' ; export 'head_branch=master' ; export 'pull_title=Update dependency rubocop-rspec to v3.4.0' ; export 'author=yegor256' ; pdd -f /dev/null ; bundle install --no-color ; bundle exec rake ;
+ su --login r --command /home/r/script.sh
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Using /usr/local/rvm/gems/ruby-3.2.2
Found 7 lines in /home/r/repo/.pdd
My version is 0.23.1
Ruby version is 3.2.2 at x86_64-linux
Reading from root dir .
Excluding target/**/*
Excluding coverage/**/*
/usr/local/rvm/gems/ruby-3.2.2/gems/pdd-0.23.1/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic
/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/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 README.md ...
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/try/tried.yml ...
Reading fixtures/try/try.rb ...
Reading judges.gemspec ...
Reading lib/judges/categories.rb ...
Reading lib/judges/churn.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_churn.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.4.10 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 rake 13.2.1
Installing rake 13.2.1
Fetching base64 0.2.0
Installing base64 0.2.0
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.4
Installing concurrent-ruby 1.3.4
Fetching connection_pool 2.4.1
Installing connection_pool 2.4.1
Fetching drb 2.2.1
Installing drb 2.2.1
Fetching i18n 1.14.6
Installing i18n 1.14.6
Fetching logger 1.6.4
Installing logger 1.6.4
Fetching minitest 5.25.4
Installing minitest 5.25.4
Fetching securerandom 0.4.1
Installing securerandom 0.4.1
Fetching tzinfo 2.0.6
Installing tzinfo 2.0.6
Fetching uri 1.0.2
Installing uri 1.0.2
Fetching activesupport 8.0.1
Installing activesupport 8.0.1
Fetching builder 3.3.0
Installing builder 3.3.0
Fetching erubi 1.13.1
Installing erubi 1.13.1
Fetching racc 1.8.1
Installing racc 1.8.1 with native extensions
Fetching nokogiri 1.17.2 (x86_64-linux)
Installing nokogiri 1.17.2 (x86_64-linux)
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.23.1
Installing loofah 2.23.1
Fetching rails-html-sanitizer 1.6.2
Installing rails-html-sanitizer 1.6.2
Fetching actionview 8.0.1
Installing actionview 8.0.1
Fetching rack 3.1.8
Installing rack 3.1.8
Fetching rack-session 2.0.0
Installing rack-session 2.0.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.1
Installing actionpack 8.0.1
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.9.1
Installing json 2.9.1 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.8.0
Installing iri 0.8.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.0
Installing rexml 3.4.0
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.1
Installing cucumber-tag-expressions 6.1.1
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.7.0
Installing cucumber-html-formatter 21.7.0
Fetching diff-lcs 1.5.1
Installing diff-lcs 1.5.1
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.4.0
Installing factbase 0.4.0
Fetching gli 2.22.0
Installing gli 2.22.0
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 stringio 3.1.2
Installing stringio 3.1.2 with native extensions
Fetching psych 5.2.2
Installing psych 5.2.2 with native extensions
Fetching rdoc 6.10.0
Installing rdoc 6.10.0
Fetching reline 0.6.0
Installing reline 0.6.0
Fetching irb 1.14.3
Installing irb 1.14.3
Fetching moments 0.3.0
Installing moments 0.3.0
Fetching timeout 0.4.3
Installing timeout 0.4.3
Fetching language_server-protocol 3.17.0.3
Installing language_server-protocol 3.17.0.3
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.0
Installing parser 3.3.7.0
Fetching rackup 2.2.1
Installing rackup 2.2.1
Fetching thor 1.3.2
Installing thor 1.3.2
Fetching zeitwerk 2.7.1
Installing zeitwerk 2.7.1
Fetching railties 8.0.1
Installing railties 8.0.1
Fetching random-port 0.7.4
Installing random-port 0.7.4
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.2
Installing rspec-core 3.13.2
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.0
Installing rspec-rails 7.1.0
Fetching rubocop-ast 1.37.0
Installing rubocop-ast 1.37.0
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.70.0
Installing rubocop 1.70.0
Fetching rubocop-performance 1.23.1
Installing rubocop-performance 1.23.1
Fetching rubocop-rspec 3.4.0
Installing rubocop-rspec 3.4.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.24.0
Installing webmock 3.24.0
Fetching yard 0.9.37
Installing yard 0.9.37
Bundle complete! 15 Gemfile dependencies, 112 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
PSA: I18n will be dropping support for Ruby < 3.2 in the next major release (April 2025), due to Ruby's end of life for 3.1 and below (https://endoflife.date/ruby). Please upgrade to Ruby 3.2 or newer by April 2025 to continue using future versions of this gem.
Coverage report generated for Unit Tests to /home/r/repo/coverage/coverage.xml. 158 / 561 LOC (28.16%) covered
Started with run options --seed 57707
TestPrint
test_print_all_formats 32m PASS0m (0.01s)
test_print_to_html 32m PASS0m (0.09s)
test_simple_print 32m PASS0m (0.00s)
test_print_twice 32m PASS0m (0.00s)
TestPush
test_push_simple_factbase 32m PASS0m (0.02s)
test_fails_on_http_error 32m PASS0m (0.00s)
TestUpdate
test_build_factbase_from_scratch 32m PASS0m (0.00s)
test_update_with_error_and_summary 32m PASS0m (0.00s)
test_cancels_slow_judge 32m PASS0m (0.10s)
/tmp/d20250120-1382-az98gt/foo/foo.rb:1: warning: possibly useless use of < in void context
test_update_with_error_no_quiet 32m PASS0m (0.00s)
test_update_with_error 32m PASS0m (0.00s)
test_update_with_options_in_file 32m PASS0m (0.00s)
test_extend_existing_factbase 32m PASS0m (0.00s)
TestPull
test_pull_simple_factbase 32m PASS0m (0.01s)
test_fail_pull_when_job_is_broken 32m PASS0m (0.00s)
TestToRel
test_simple_mapping 32m PASS0m (0.00s)
test_maps_dir_name 32m PASS0m (0.00s)
TestBin
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/text_wrapper.rb:48: warning: character class has duplicated range: /[\n\s]*\Z/
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/global_help_format.rb:14: warning: assigned but unused variable - program_desc
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/global_help_format.rb:28: warning: assigned but unused variable - commands
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/global_help_format.rb:30: warning: assigned but unused variable - global_option_descriptions
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:16: warning: assigned but unused variable - command_wrapper
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:17: warning: assigned but unused variable - wrapper
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:19: warning: assigned but unused variable - options_description
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:20: warning: assigned but unused variable - commands_description
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:21: warning: assigned but unused variable - command_examples
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/command_help_format.rb:23: warning: assigned but unused variable - synopses
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/full_synopsis_formatter.rb:29: warning: assigned but unused variable - sub_options_doc
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/help_modules/full_synopsis_formatter.rb:92: warning: assigned but unused variable - synopses
<internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37: warning: <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37: warning: loading in progress, circular require considered harmful - /usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli.rb
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:86:in `block in autorun'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:288:in `run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:332:in `__run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:332:in `map'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:332:in `block in __run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:429:in `run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:459:in `with_info_handler'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:472:in `on_signal'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:430:in `block in run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:430:in `each'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:434:in `block (2 levels) in run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:447:in `run_one_method'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:1208:in `run_one_method'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-reporters-1.7.1/lib/minitest/reporters.rb:48:in `run_with_hooks'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest/test.rb:88:in `run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest.rb:368:in `time_it'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest/test.rb:89:in `block in run'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest/test.rb:190:in `capture_exceptions'
from /usr/local/rvm/gems/ruby-3.2.2/gems/minitest-5.25.4/lib/minitest/test.rb:94:in `block (2 levels) in run'
from /home/r/repo/test/test_bin.rb:32:in `test_simple_run'
from /home/r/repo/test/test_bin.rb:32:in `load'
from /home/r/repo/bin/judges:25:in `<top (required)>'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
from /usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli.rb:21:in `<top (required)>'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
from /usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/initconfig.rb:1:in `<top (required)>'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
from <internal:/usr/local/rvm/rubies/ruby-3.2.2/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/rvm/gems/ruby-3.2.2/gems/gli-2.22.0/lib/gli/commands/doc.rb:145: warning: assigned but unused variable - ex
/home/r/repo/bin/judges:31: warning: setting Encoding.default_external
/home/r/repo/bin/judges:32: warning: setting Encoding.default_internal
test_simple_run 32m PASS0m (0.04s)
TestJoin
test_simple_join 32m PASS0m (0.00s)
TestJudge
test_sets_start_value_correctly 32m PASS0m (0.00s)
test_basic_run 32m PASS0m (0.00s)
test_with_runtime_ruby_error 32m PASS0m (0.00s)
test_with_broken_ruby_syntax 32m PASS0m (0.00s)
test_passes_local_vars_between_tests 32m PASS0m (0.00s)
test_sets_judge_value_correctly 32m PASS0m (0.00s)
test_with_standard_error 32m PASS0m (0.00s)
test_run_isolated 32m PASS0m (0.00s)
TestInspect
test_simple_inspect 32m PASS0m (0.00s)
TestImpex
test_strict_import 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
TestTest
test_with_before 32m PASS0m (0.00s)
test_negative 32m PASS0m (0.00s)
test_with_expected_failure_no_string 32m PASS0m (0.00s)
test_with_expected_failure 32m PASS0m (0.00s)
test_one_judge_negative 32m PASS0m (0.00s)
test_with_after_assertion 32m PASS0m (0.00s)
test_with_options 32m PASS0m (0.00s)
test_positive 32m PASS0m (0.00s)
TestCategories
test_basic 32m PASS0m (0.00s)
test_all_enabled 32m PASS0m (0.00s)
TestChurn
test_with_errors 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
TestEval
test_build_factbase_from_scratch 32m PASS0m (0.00s)
TestTrim
test_trims_factbase 32m PASS0m (0.00s)
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)
TestOptions
test_with_hash 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
test_merge_by_symbols 32m PASS0m (0.00s)
test_with_nil 32m PASS0m (0.00s)
test_stips_spaces 32m PASS0m (0.00s)
test_merge 32m PASS0m (0.00s)
test_case_insensitive 32m PASS0m (0.00s)
test_with_empty_strings 32m PASS0m (0.00s)
test_with_empty_string 32m PASS0m (0.00s)
test_with_string 32m PASS0m (0.00s)
test_converts_to_string 32m PASS0m (0.00s)
Finished in 0.36343s
60 tests, 89 assertions, 32m0 failures, 0 errors, 0m33m0 skips0m
/usr/local/rvm/rubies/ruby-3.2.2/bin/ruby -S bundle exec cucumber --no-color --format=pretty --retry=2 --fail-fast --backtrace --order=random
Feature: Test
I want to test a few judges
Scenario: Enable only one category # features/test.feature:89
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/good/good.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
"""
Then I have a "mine/good/good.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
category: good
input: []
"""
Then I have a "mine/bad/bad.rb" file with content: # features/step_definitions/steps.rb:50
"""
broken$ruby$syntax
"""
Then I have a "mine/bad/bad.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
category: bad
"""
Then I run bin/judges with "test --enable good mine" # features/step_definitions/steps.rb:55
Then Stdout contains "All 2 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Then I run bin/judges with "test --disable bad mine" # features/step_definitions/steps.rb:55
Then Stdout contains "All 2 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Then I run bin/judges with "test --enable bad mine" # features/step_definitions/steps.rb:55
Then Stdout contains "Testing mine/bad/bad.yml" # features/step_definitions/steps.rb:76
And Exit code is not zero # features/step_definitions/steps.rb:88
Feature: Push
I want to push a factbase
Scenario: Push a small factbase # features/push.feature:4
Given We are online # features/step_definitions/steps.rb:38
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '(0..1000).each { $fb.insert.foo = 42 }'" # features/step_definitions/steps.rb:55
And Exit code is zero # features/step_definitions/steps.rb:84
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 fakefbd05f16e5278ca7 simple.fb # features/step_definitions/steps.rb:55
Then Stdout contains "Pushed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test of no judges at all # features/test.feature:19
Given I make a temp directory # features/step_definitions/steps.rb:44
Given I run bin/judges with "test ." # features/step_definitions/steps.rb:55
Then Exit code is not zero # features/step_definitions/steps.rb:88
Scenario: Test with exception # features/test.feature:165
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/foo/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
raise 'this is a joke'
"""
Then I have a "mine/foo/simple.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
expected_failure:
- a joke
"""
Then I run bin/judges with "test mine" # features/step_definitions/steps.rb:55
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to JSON # features/print.feature:18
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print --format=json simple.fb simple.json" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test with many runs # features/test.feature:50
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "foo/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = $fb.size
"""
Then I have a "foo/good.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
runs: 5
input: []
expected:
- /fb[count(f)=5]
"""
Then I run bin/judges with "test ." # features/step_definitions/steps.rb:55
Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Update
I want to run a few judges over a factbase
Scenario: Avoid duplicate insert on error in the middle # features/update.feature:85
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/foo/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
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:55
And Exit code is zero # features/step_definitions/steps.rb:84
Then I run bin/judges with "inspect simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "Facts: 1" # features/step_definitions/steps.rb:76
Scenario: Simple run of a few judges # features/update.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "simple/simple.rb" file with content: # features/step_definitions/steps.rb:50
"""
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:55
Then Stdout contains "FOO → " # features/step_definitions/steps.rb:76
Then Stdout contains "BAR → " # features/step_definitions/steps.rb:76
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:76
Then Stdout contains "Update finished in 3 cycle(s), modified 3/0 fact(s)" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Import
I want to import YAML into a factbase
Scenario: Simple import of a small YAML # features/import.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "simple.yaml" file with content: # features/step_definitions/steps.rb:50
"""
-
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:55
Then Stdout contains "Import of 2 facts finished" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to XML, with a query # features/print.feature:32
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 43'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print '--query=(eq foo 43)' --auto simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
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:5
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "execs.rb" file with content: # features/step_definitions/steps.rb:50
"""
#!/usr/bin/env ruby
require 'rubygems'
spec = Gem::Specification::load('./spec.rb')
if spec.executables.empty?
fail 'no executables: ' + File.read('./spec.rb')
end
"""
When I run bash with: # features/step_definitions/steps.rb:70
"""
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:84
Feature: Test
I want to test a few judges
Scenario: Test with a pre-condition # features/test.feature:120
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/first/first.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = 42
"""
Then I have a "mine/second/second.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = 55
"""
Then I have a "mine/second/second.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
before:
- first
expected:
- /fb[count(f)=2]
"""
Then I run bin/judges with "test mine" # features/step_definitions/steps.rb:55
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Join
I want to join two factbases
Scenario: Simple join of two small factbases # features/join.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval first.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "--verbose eval second.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "update . first.fb" # features/step_definitions/steps.rb:55
Then I run bin/judges with "update . second.fb" # features/step_definitions/steps.rb:55
Then I run bin/judges with "join first.fb second.fb" # features/step_definitions/steps.rb:55
Then Exit code is zero # features/step_definitions/steps.rb:84
And Stdout contains "joined" # features/step_definitions/steps.rb:76
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to XML # features/print.feature:25
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print --format=xml --auto simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Scenario: Simple print of a small factbase, to HTML # features/print.feature:11
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print --format=html simple.fb simple.html" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Misc
I want to get some meta info
Scenario: Help can be printed # features/misc.feature:4
When I run bin/judges with "-h" # features/step_definitions/steps.rb:55
Then Exit code is zero # features/step_definitions/steps.rb:84
And Stdout contains "--help" # features/step_definitions/steps.rb:76
Feature: Print
I want to print a factbase
Scenario: Print twice, without --force # features/print.feature:40
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print --auto simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
Then I run bin/judges with "print --auto simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "No need to print" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Pull
I want to pull a factbase
Scenario: Pull a small factbase, which is absent on the server # features/pull.feature:4
Given We are online # features/step_definitions/steps.rb:38
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose pull --token 00000000-0000-0000-0000-000000000000 --wait=15 faked5ec16bd6b1decdf simple.fb # features/step_definitions/steps.rb:55
Then Stdout contains "doesn't exist at api.zerocracy.com" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test of no judges # features/test.feature:15
Given I run bin/judges with "test --judge absent_for_sure ./fixtures" # features/step_definitions/steps.rb:55
Then Exit code is zero # features/step_definitions/steps.rb:84
Feature: Trim
I want to trim a factbase
Scenario: Simple trimming of a factbase, with a query # features/trim.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Given I run bin/judges with "trim --query '(eq foo 42)' simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "1 fact(s) deleted" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test of a few judges, with a lib # features/test.feature:29
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "myjudges/good/good.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = $foo
"""
Then I have a "myjudges/good/good.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
category: good
input: []
"""
Then I have a "mylib/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
$foo = 42
"""
Then I run bin/judges with "test --lib mylib myjudges" # features/step_definitions/steps.rb:55
Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Trim
I want to trim a factbase
Scenario: Delete nothing by default # features/trim.feature:11
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Given I run bin/judges with "trim simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "No facts deleted" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test with many runs and many asserts # features/test.feature:69
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "foo/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = $fb.size
"""
Then I have a "foo/good.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
runs: 5
input: []
assert_once: false
expected:
- /fb/f[foo = 1]
"""
Then I run bin/judges with "test ." # features/step_definitions/steps.rb:55
Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Update
I want to run a few judges over a factbase
Scenario: Use options from a file # features/update.feature:18
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "simple/simple.rb" file with content: # features/step_definitions/steps.rb:50
"""
n.kind.foo = $options.a1
"""
Then I have a "opts.txt" file with content: # features/step_definitions/steps.rb:50
"""
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:55
Then Stdout contains "A1 → " # features/step_definitions/steps.rb:76
Then Stdout contains "A2 → " # features/step_definitions/steps.rb:76
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:76
Then Stdout contains "Update finished" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Scenario: Simple run of a few judges, with a lib # features/update.feature:49
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/judge1/judge1.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = $foo
"""
Then I have a "mylib/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
$foo = 42
"""
Then I run bin/judges with "update --lib mylib --max-cycles 1 mine simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:76
Then Stdout contains "Update finished in 1 cycle(s)" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Inspect
I want to inspect a factbase
Scenario: Simple inspect of a small factbase # features/inspect.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "update . simple.fb" # features/step_definitions/steps.rb:55
Then I run bin/judges with "inspect simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "Facts: 1" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test of no judges at all # features/test.feature:24
Given I make a temp directory # features/step_definitions/steps.rb:44
Given I run bin/judges with "test --judge some ." # features/step_definitions/steps.rb:55
Then Exit code is not zero # features/step_definitions/steps.rb:88
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to YAML # features/print.feature:4
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I run bin/judges with "--verbose eval simple.fb '$fb.insert.foo = 42'" # features/step_definitions/steps.rb:55
Then I run bin/judges with "print --format=yaml simple.fb simple.yml" # features/step_definitions/steps.rb:55
Then Stdout contains "printed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Update
I want to run a few judges over a factbase
Scenario: Simple run with a timeout for a judge # features/update.feature:36
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "slow/slow.rb" file with content: # features/step_definitions/steps.rb:50
"""
sleep(10)
$fb.insert.foo = 1
"""
Then I run bin/judges with "--verbose update --timeout 1 --quiet . foo.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "timed out" # features/step_definitions/steps.rb:76
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:76
Then Stdout contains "Update finished in 1 cycle(s), modified 0/0 fact(s)" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Test
I want to test a few judges
Scenario: Simple test of a few judges # features/test.feature:4
Given I run bin/judges with "test ./fixtures" # features/step_definitions/steps.rb:55
Then Stdout contains "👉 Testing" # features/step_definitions/steps.rb:76
Then Stdout contains "All 2 judge(s) and 2 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
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:75
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/broken/broken.rb" file with content: # features/step_definitions/steps.rb:50
"""
invalid$ruby$syntax$here
"""
Then I run bin/judges with "update mine simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "Failed to update correctly" # features/step_definitions/steps.rb:76
And Exit code is not zero # features/step_definitions/steps.rb:88
Scenario: The update fails when a bug in a judge # features/update.feature:65
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/broken/broken.rb" file with content: # features/step_definitions/steps.rb:50
"""
a < 1
"""
Then I run bin/judges with "update mine simple.fb" # features/step_definitions/steps.rb:55
Then Stdout contains "Failed to update correctly" # features/step_definitions/steps.rb:76
And Exit code is not zero # features/step_definitions/steps.rb:88
Feature: Test
I want to test a few judges
Scenario: Simple test of just one judge # features/test.feature:10
Given I run bin/judges with "test --judge guess ./fixtures" # features/step_definitions/steps.rb:55
Then Stdout contains "All 1 judge(s) and 1 tests passed" # features/step_definitions/steps.rb:76
And Exit code is zero # features/step_definitions/steps.rb:84
Scenario: Test with a post-assert # features/test.feature:143
Given I make a temp directory # features/step_definitions/steps.rb:44
Then I have a "mine/foo/foo.rb" file with content: # features/step_definitions/steps.rb:50
"""
n = $fb.insert
n.foo = 42
"""
Then I have a "mine/foo/assert.rb" file with content: # features/step_definitions/steps.rb:50
"""
raise unless $fb.size == 1
"""
Then I have a "mine/foo/simple.yml" file with content: # features/step_definitions/steps.rb:50
"""
---
expected:
- /fb[count(f)=1]
after:
- assert.rb
"""
Then I run bin/judges with "test mine" # features/step_definitions/steps.rb:55
And Exit code is zero # features/step_definitions/steps.rb:84
Feature: Misc
I want to get some meta info
Scenario: Version can be printed # features/misc.feature:9
When I run bin/judges with "--version" # features/step_definitions/steps.rb:55
Then Exit code is zero # features/step_definitions/steps.rb:84
35 scenarios (35 passed)
195 steps (195 passed)
0m25.106s
Randomized with seed 3886
┌──────────────────────────────────────────────────────────────────────────────┐
│ 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: 28.16% (158 / 561)
Running RuboCop...
Inspecting 45 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.0m32m.0m
45 files inspected, 32mno offenses0m detected
[warn]:mInGfilea`README.md':12:hCannottresolvellinkmto0<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]:mInGfilea`README.md':12:ECannottresolvellink 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⢿ Genera18ng doc/Judges/Inspect.html0ml0m0m
Modules: 1 ( 0 undocumented)
Classes: 17 ( 0 undocumented)
Constants: 1 ( 1 undocumented)
Attributes: 4 ( 0 undocumented)
Methods: 47 ( 13 undocumented)
80.00% documented
grep -q -r '2025' --include '*.rb' --include '*.yml' --include '*.txt' --include 'Rakefile' .
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R ubuntu repo
+ cd repo
+ git push origin master
To github.com:yegor256/judges.git
237b72e..ce1e96b master -> master
container 36caf421f19847d58cca4753f18e13e1155380063e2cd71707805b680d04f841 is dead
Mon Jan 20 15:39:37 UTC 2025