++ dirname ./run.sh
+ cd .
+ echo 1271
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Wed Jun 3 11:11:51 UTC 2026
+ uptime
11:11:51 up 2 min, 0 users, load average: 0.43, 0.26, 0.10
+ ff=default
+ image=yegor256/ruby
+ rebase=false
+ head_branch=master
+ pull_title='Update crate-ci/typos action to v1.47.1'
+ author=yegor256
+ directory=
+ head=git@github.com:yegor256/judges.git
+ pull_id=443
+ fork=git@github.com:yegor256/judges.git
+ fork_branch=renovate/crate-ci-typos-1.x
+ squash=false
+ vars=('--env=head=git@github.com:yegor256/judges.git' '--env=pull_id=443' '--env=fork=git@github.com:yegor256/judges.git' '--env=fork_branch=renovate/crate-ci-typos-1.x' '--env=head_branch=master' '--env=pull_title=Update crate-ci/typos action to v1.47.1' '--env=author=yegor256' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=443'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/crate-ci-typos-1.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update crate-ci/typos action to v1.47.1'\''\'\'''\'''\'' '\'';'\'' '\''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=443'\''' ';' 'export '\''fork=git@github.com:yegor256/judges.git'\''' ';' 'export '\''fork_branch=renovate/crate-ci-typos-1.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update crate-ci/typos action to v1.47.1'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' 'bundle exec rake' ';')
+ container=yegor256_judges_443
+ as_root=false
+ set -e -o pipefail
+ hostname
ip-172-31-24-98
+ pwd
/tmp/rultor-lUrP
+ 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 --recurse-submodules 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 gpg@rultor.com
+ git config user.name Rultor.com
+ '[' -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=443'\''' ';' 'export '\''fork=git@github.com:yegor256/judges.git'\''' ';' 'export '\''fork_branch=renovate/crate-ci-typos-1.x'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Update crate-ci/typos action to v1.47.1'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' 'bundle exec rake' ';'
+ sensitive=()
+ set -ex -o pipefail
+ 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] copilot/fix-196 -> fork/copilot/fix-196
* [new branch] copilot/fix-98 -> fork/copilot/fix-98
* [new branch] gh-pages -> fork/gh-pages
* [new branch] master -> fork/master
* [new branch] renovate/crate-ci-typos-1.x -> fork/renovate/crate-ci-typos-1.x
+ args=()
+ '[' default == default ']'
+ args+=(--ff)
+ '[' default == no ']'
+ '[' default == only ']'
+ '[' false == true ']'
+ BRANCH=__rultor
++ wc -l
++ git show-branch __rultor
+ '[' 0 -gt 0 ']'
+ export BRANCH
+ 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/crate-ci-typos-1.x
Switched to a new branch '__rultor'
Branch '__rultor' set up to track remote branch 'renovate/crate-ci-typos-1.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 ']'
+ KEY=3FD3FA7E9AF0FA4C
+ git merge --gpg-sign=3FD3FA7E9AF0FA4C --no-edit -m 'Update crate-ci/typos action to v1.47.1' --ff __rultor
Merge made by the 'ort' strategy.
.github/workflows/typos.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+ git log -1 --show-signature
commit 601c766d52f4bfb18cf2ba72884d29b3d8c75594
gpg: Signature made Wed Jun 3 11:11:53 2026 UTC
gpg: using RSA key FAC962C42841735692C13FF43FD3FA7E9AF0FA4C
gpg: Good signature from "Rultor.com <gpg@rultor.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: FAC9 62C4 2841 7356 92C1 3FF4 3FD3 FA7E 9AF0 FA4C
Merge: 9ed1537 32fac94
Author: Rultor.com <gpg@rultor.com>
Date: Wed Jun 3 11:11:53 2026 +0000
Update crate-ci/typos action to v1.47.1
+ docker_when_possible
+ true
++ tail -n 1
++ sed 's/ /\n/g'
++ uptime
+ load=0.11
++ bc
++ echo 0.11 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.11, low enough to run a new Docker container'
load average is 0.11, 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
b40150c1c271: Pulling fs layer
4f4fb700ef54: Pulling fs layer
370ee6357b62: Pulling fs layer
6e40dfae476b: Pulling fs layer
7b6ba531086b: Pulling fs layer
91de1f168c28: Pulling fs layer
25a59335f16c: Pulling fs layer
82f21c2d449a: Pulling fs layer
e0ffa75b3058: Pulling fs layer
6e40dfae476b: Waiting
7b6ba531086b: Waiting
91de1f168c28: Waiting
25a59335f16c: Waiting
82f21c2d449a: Waiting
e0ffa75b3058: Waiting
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
b40150c1c271: Verifying Checksum
b40150c1c271: Download complete
370ee6357b62: Verifying Checksum
370ee6357b62: Download complete
91de1f168c28: Verifying Checksum
91de1f168c28: Download complete
25a59335f16c: Verifying Checksum
25a59335f16c: Download complete
82f21c2d449a: Verifying Checksum
82f21c2d449a: Download complete
7b6ba531086b: Verifying Checksum
7b6ba531086b: Download complete
6e40dfae476b: Verifying Checksum
6e40dfae476b: Download complete
e0ffa75b3058: Verifying Checksum
e0ffa75b3058: Download complete
b40150c1c271: Pull complete
4f4fb700ef54: Pull complete
370ee6357b62: Pull complete
6e40dfae476b: Pull complete
7b6ba531086b: Pull complete
91de1f168c28: Pull complete
25a59335f16c: Pull complete
82f21c2d449a: Pull complete
e0ffa75b3058: Pull complete
Digest: sha256:f3b206b77b2ef432c46b513eb62c7ad4b531e5de6e61ec475b695e3668a2b242
Status: Downloaded newer image for yegor256/ruby:latest
docker.io/yegor256/ruby:latest
+ docker ps --filter=status=exited
+ grep --quiet '\syegor256_judges_443\s*$'
+ ls -al .
total 48
drwx------ 3 ubuntu ubuntu 4096 Jun 3 11:11 .
drwxrwxrwt 12 root root 4096 Jun 3 11:11 ..
-rwxrwxr-x 1 ubuntu ubuntu 666 Jun 3 11:11 end.sh
-rwxrwxr-x 1 ubuntu ubuntu 498 Jun 3 11:11 entry.sh
-rw-rw-r-- 1 ubuntu ubuntu 5 Jun 3 11:11 pid
drwxrwxr-x 11 ubuntu ubuntu 4096 Jun 3 11:11 repo
-rw-rw-r-- 1 ubuntu ubuntu 81 Jun 3 11:11 rubygems.yml
-rwxrwxr-x 1 ubuntu ubuntu 6493 Jun 3 11:11 run.sh
-rw-rw-r-- 1 ubuntu ubuntu 548 Jun 3 11:11 script.sh
-rw-rw-r-- 1 ubuntu ubuntu 7260 Jun 3 11:12 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-lUrP:/main --env=head=git@github.com:yegor256/judges.git --env=pull_id=443 --env=fork=git@github.com:yegor256/judges.git --env=fork_branch=renovate/crate-ci-typos-1.x --env=head_branch=master '--env=pull_title=Update crate-ci/typos action to v1.47.1' --env=author=yegor256 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=443'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:yegor256/judges.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=renovate/crate-ci-typos-1.x'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Update crate-ci/typos action to v1.47.1'\''\'\'''\'''\'' '\'';'\'' '\''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-lUrP/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_judges_443 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 ubuntu r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G systemd-journal r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G systemd-network r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G messagebus 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 polkitd 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 docker 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 /root/.ssh /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
#!/usr/bin/env 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=443' ; export 'fork=git@github.com:yegor256/judges.git' ; export 'fork_branch=renovate/crate-ci-typos-1.x' ; export 'head_branch=master' ; export 'pull_title=Update crate-ci/typos action to v1.47.1' ; export 'author=yegor256' ; pdd -f /dev/null ; bundle install --no-color ; bundle exec rake ;
+ 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.9 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/eslint.config.js is a binary file (582 bytes)
/home/r/repo/package-lock.json is a binary file (31584 bytes)
/home/r/repo/package.json is a binary file (84 bytes)
/home/r/repo/renovate.json is a binary file (182 bytes)
Reading .0pdd.yml ...
Reading .gitattributes ...
Reading .github/workflows/actionlint.yml ...
Reading .github/workflows/codecov.yml ...
Reading .github/workflows/copyrights.yml ...
Reading .github/workflows/eslint.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/typos.yml ...
Reading .github/workflows/xcop.yml ...
Reading .github/workflows/yamllint.yml ...
Reading .gitignore ...
Reading .pdd ...
Reading .rubocop.yml ...
Reading .rultor.yml ...
Reading Gemfile ...
Reading Gemfile.lock ...
Reading LICENSE.txt ...
Reading LICENSES/MIT.txt ...
Reading README.md ...
Reading REUSE.toml ...
Reading Rakefile ...
Reading assets/index.css ...
Reading assets/index.js ...
Reading assets/index.xsl ...
Reading bin/judges ...
Reading features/echo.feature ...
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 features/version.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/ascii_loog.rb ...
Reading lib/judges/categories.rb ...
Reading lib/judges/commands/download.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/commands/upload.rb ...
Reading lib/judges/impex.rb ...
Reading lib/judges/judge.rb ...
Reading lib/judges/judges.rb ...
Reading lib/judges/options.rb ...
Reading lib/judges/pretty_exception.rb ...
Reading lib/judges/statistics.rb ...
Reading lib/judges/to_rel.rb ...
Reading lib/judges.rb ...
Reading test/commands/test_download.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/commands/test_upload.rb ...
Reading test/test__helper.rb ...
Reading test/test_ascii_loog.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_pretty_exception.rb ...
Reading test/test_statistics.rb ...
Reading test/test_to_rel.rb ...
Bundler 2.6.9 is running, but your lockfile was generated with 2.6.8. Installing Bundler 2.6.8 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.6.8
Installing bundler 2.6.8
Fetching gem metadata from https://rubygems.org/........
Fetching rake 13.4.2
Installing rake 13.4.2
Fetching public_suffix 7.0.5
Installing public_suffix 7.0.5
Fetching addressable 2.9.0
Installing addressable 2.9.0
Fetching ansi 1.6.0
Installing ansi 1.6.0
Fetching ast 2.4.3
Installing ast 2.4.3
Fetching backtrace 0.4.1
Installing backtrace 0.4.1
Fetching base64 0.3.0
Installing base64 0.3.0
Fetching ellipsized 0.3.0
Installing ellipsized 0.3.0
Fetching logger 1.7.0
Installing logger 1.7.0
Fetching loog 0.8.0
Installing loog 0.8.0
Fetching tago 0.7.0
Installing tago 0.7.0
Fetching elapsed 0.3.1
Installing elapsed 0.3.1
Fetching uri 1.1.1
Installing uri 1.1.1
Fetching net-http 0.9.1
Installing net-http 0.9.1
Fetching faraday-net_http 3.4.3
Installing faraday-net_http 3.4.3
Fetching json 2.19.7
Installing json 2.19.7 with native extensions
Fetching faraday 2.14.2
Installing faraday 2.14.2
Fetching faraday-http-cache 2.7.0
Installing faraday-http-cache 2.7.0
Fetching multipart-post 2.4.1
Installing multipart-post 2.4.1
Fetching faraday-multipart 1.2.0
Installing faraday-multipart 1.2.0
Fetching faraday-retry 2.4.0
Installing faraday-retry 2.4.0
Fetching iri 0.11.8
Installing iri 0.11.8
Fetching retries 0.0.5
Installing retries 0.0.5
Fetching ffi 1.17.4 (x86_64-linux-gnu)
Installing ffi 1.17.4 (x86_64-linux-gnu)
Fetching ethon 0.18.0
Installing ethon 0.18.0
Fetching typhoeus 1.6.0
Installing typhoeus 1.6.0
Fetching baza.rb 0.14.4
Installing baza.rb 0.14.4
Fetching bigdecimal 4.1.2
Installing bigdecimal 4.1.2 with native extensions
Fetching builder 3.3.0
Installing builder 3.3.0
Fetching concurrent-ruby 1.3.6
Installing concurrent-ruby 1.3.6
Fetching crack 1.0.1
Installing crack 1.0.1
Fetching cucumber-ci-environment 11.0.0
Installing cucumber-ci-environment 11.0.0
Fetching cucumber-messages 32.3.1
Installing cucumber-messages 32.3.1
Fetching cucumber-gherkin 39.1.0
Installing cucumber-gherkin 39.1.0
Fetching cucumber-tag-expressions 8.1.0
Installing cucumber-tag-expressions 8.1.0
Fetching cucumber-core 16.2.0
Installing cucumber-core 16.2.0
Fetching cucumber-cucumber-expressions 19.0.1
Installing cucumber-cucumber-expressions 19.0.1
Fetching cucumber-html-formatter 23.1.0
Installing cucumber-html-formatter 23.1.0
Fetching diff-lcs 1.6.2
Installing diff-lcs 1.6.2
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 memoist3 1.0.0
Installing memoist3 1.0.0
Fetching sys-uname 1.5.1
Installing sys-uname 1.5.1
Fetching cucumber 11.1.0
Installing cucumber 11.1.0
Fetching date 3.5.1
Installing date 3.5.1 with native extensions
Fetching decoor 0.1.0
Installing decoor 0.1.0
Fetching docile 1.4.1
Installing docile 1.4.1
Fetching drb 2.2.3
Installing drb 2.2.3
Fetching erb 6.0.4
Installing erb 6.0.4 with native extensions
Fetching others 0.1.1
Installing others 0.1.1
Fetching yaml 0.4.0
Installing yaml 0.4.0
Fetching factbase 0.19.10
Installing factbase 0.19.10
Fetching ostruct 0.6.3
Installing ostruct 0.6.3
Fetching gli 2.22.2
Installing gli 2.22.2
Fetching hashdiff 1.2.1
Installing hashdiff 1.2.1
Fetching moments 0.3.0
Installing moments 0.3.0
Fetching sawyer 0.9.3
Installing sawyer 0.9.3
Fetching octokit 10.0.0
Installing octokit 10.0.0
Fetching timeout 0.6.1
Installing timeout 0.6.1
Fetching total 0.4.2
Installing total 0.4.2
Fetching language_server-protocol 3.17.0.5
Installing language_server-protocol 3.17.0.5
Fetching lint_roller 1.1.0
Installing lint_roller 1.1.0
Fetching prism 1.9.0
Installing prism 1.9.0 with native extensions
Fetching minitest 6.0.6
Installing minitest 6.0.6
Fetching minitest-mock 5.27.0
Installing minitest-mock 5.27.0
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching minitest-reporters 1.8.0
Installing minitest-reporters 1.8.0
Fetching minitest-retry 0.3.1
Installing minitest-retry 0.3.1
Fetching openssl 4.0.2
Installing openssl 4.0.2 with native extensions
Fetching online 0.3.0
Installing online 0.3.0
Fetching os 1.1.4
Installing os 1.1.4
Fetching parallel 2.1.0
Installing parallel 2.1.0
Fetching parser 3.3.11.1
Installing parser 3.3.11.1
Fetching stringio 3.2.0
Installing stringio 3.2.0 with native extensions
Fetching psych 5.3.1
Installing psych 5.3.1 with native extensions
Fetching qbash 0.8.4
Installing qbash 0.8.4
Fetching random-port 0.8.2
Installing random-port 0.8.2
Fetching tsort 0.2.0
Installing tsort 0.2.0
Fetching rdoc 7.2.0
Installing rdoc 7.2.0
Fetching regexp_parser 2.12.0
Installing regexp_parser 2.12.0
Fetching rubocop-ast 1.49.1
Installing rubocop-ast 1.49.1
Fetching unicode-emoji 4.2.0
Installing unicode-emoji 4.2.0
Fetching unicode-display_width 3.2.0
Installing unicode-display_width 3.2.0
Fetching rubocop 1.87.0
Installing rubocop 1.87.0
Fetching rubocop-elegant 0.5.1
Installing rubocop-elegant 0.5.1
Fetching rubocop-minitest 0.39.1
Installing rubocop-minitest 0.39.1
Fetching rubocop-performance 1.26.1
Installing rubocop-performance 1.26.1
Fetching rubocop-rake 0.7.1
Installing rubocop-rake 0.7.1
Fetching simplecov-html 0.13.2
Installing simplecov-html 0.13.2
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 3.1.0
Installing simplecov-cobertura 3.1.0
Fetching w3c_validators 1.3.7
Installing w3c_validators 1.3.7
Fetching webmock 3.26.2
Installing webmock 3.26.2
Fetching yard 0.9.38
Installing yard 0.9.38
Bundle complete! 24 Gemfile dependencies, 101 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1 installed gem you directly depend on is looking for funding.
Run `bundle fund` for details
/usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:1228: warning: /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:1228: warning: loading in progress, circular require considered harmful - /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb
from /usr/local/bundle/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in '<main>'
from /usr/local/bundle/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:6:in 'select'
from /usr/local/bundle/gems/rake-13.4.2/lib/rake/rake_test_loader.rb:21:in 'block in <main>'
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 /home/r/repo/test/commands/test_download.rb:7: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/webmock-3.26.2/lib/webmock/minitest.rb:4: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/minitest-6.0.6/lib/minitest/test.rb:1:in '<top (required)>'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb:1:in 'require_relative'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:1228:in '<top (required)>'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:1228:in 'require_relative'
Started with run options --seed 4744
TestImpex
test_basic 32m PASS0m (0.00s)
test_strict_import 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/bundle/gems/minitest-6.0.6/lib/minitest.rb:84:in 'block in autorun'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:316:in 'run'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:361:in 'run_all_suites'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:361:in 'map'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:361:in 'block in run_all_suites'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:468:in 'run_suite'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:498:in 'with_info_handler'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:511:in 'on_signal'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:469:in 'block in run_suite'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:469:in 'each'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:473:in 'block (2 levels) in run_suite'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:486:in 'run'
from /usr/local/bundle/gems/minitest-reporters-1.8.0/lib/minitest/reporters.rb:55:in 'run_with_hooks'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb:85:in 'run'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest.rb:397:in 'time_it'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb:86:in 'block in run'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb:187:in 'capture_exceptions'
from /usr/local/bundle/gems/minitest-6.0.6/lib/minitest/test.rb:91: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:10: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:18: warning: setting Encoding.default_external
/home/r/repo/bin/judges:19: warning: setting Encoding.default_internal
test_simple_run 32m PASS0m (0.04s)
TestStatistics
test_result_summarization_mixed_results 32m PASS0m (0.00s)
test_empty_statistics 32m PASS0m (0.00s)
test_result_summarization_single_result 32m PASS0m (0.00s)
test_not_empty_after_recording 32m PASS0m (0.00s)
test_empty_report 32m PASS0m (0.00s)
test_very_long_judge_names 32m PASS0m (0.00s)
test_record_without_churn 32m PASS0m (0.00s)
test_skipped_results 32m PASS0m (0.00s)
test_record_with_churn 32m PASS0m (0.00s)
test_report_format_headers 32m PASS0m (0.00s)
test_record_basic_statistics 32m PASS0m (0.00s)
test_fractional_seconds_formatting 32m PASS0m (0.00s)
test_judges_sorted_by_total_time 32m PASS0m (0.00s)
test_record_multiple_cycles_same_judge 32m PASS0m (0.00s)
test_record_multiple_judges 32m PASS0m (0.00s)
TestTest
test_with_after_assertion 32m PASS0m (0.00s)
test_with_timeout_failure 32m PASS0m (1.00s)
test_negative 32m PASS0m (0.00s)
test_with_options 32m PASS0m (0.00s)
test_ellipsized_long_script_name 32m PASS0m (0.00s)
test_with_timeout_in_after_script 32m PASS0m (1.00s)
test_with_timeout_success 32m PASS0m (0.00s)
test_with_before 32m PASS0m (0.00s)
test_one_judge_negative 32m PASS0m (0.00s)
test_positive 32m PASS0m (0.00s)
test_with_expected_failure 32m PASS0m (0.00s)
test_with_expected_failure_no_string 32m PASS0m (0.00s)
TestEval
test_build_factbase_from_scratch 32m PASS0m (0.00s)
TestToRel
test_maps_dir_name 32m PASS0m (0.00s)
test_simple_mapping 32m PASS0m (0.00s)
TestImport
test_import_from_yaml 32m PASS0m (0.00s)
TestOptions
test_merge_by_symbols 32m PASS0m (0.00s)
test_with_nil 32m PASS0m (0.00s)
test_case_insensitive 32m PASS0m (0.00s)
test_with_hash 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
test_with_nil_values 32m PASS0m (0.00s)
test_with_string 32m PASS0m (0.00s)
test_stips_spaces 32m PASS0m (0.00s)
test_converts_to_string 32m PASS0m (0.00s)
test_merge 32m PASS0m (0.00s)
test_with_empty_string 32m PASS0m (0.00s)
test_with_empty_strings 32m PASS0m (0.00s)
TestTrim
test_trims_factbase 32m PASS0m (0.00s)
TestDownload
test_download_simple_durable 32m PASS0m (0.03s)
test_handles_not_found_durable 32m PASS0m (0.00s)
test_download_with_custom_owner 32m PASS0m (0.02s)
test_fails_on_http_error 32m PASS0m (0.01s)
test_fails_with_wrong_number_of_arguments 32m PASS0m (0.00s)
TestUpdate
/tmp/d20260603-1009-2gjnsy/bar/bar.rb:1: warning: ambiguous first argument; put parentheses or a space even after `-` operator
/tmp/d20260603-1009-2gjnsy/bar/bar.rb:1: warning: possibly useless use of -@ in void context
/tmp/d20260603-1009-2gjnsy/bar/bar.rb:1: warning: possibly useless use of -@ in void context
/tmp/d20260603-1009-2gjnsy/bar/bar.rb:1: warning: possibly useless use of -@ in void context
test_with_only_one_judge 32m PASS0m (0.01s)
test_log_pretty_github_exception 32m PASS0m (0.03s)
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-s7vmo4/foo/foo.rb:1: warning: possibly useless use of a variable in void context
test_update_with_error_and_summary 32m PASS0m (0.01s)
test_update_with_options_in_file 32m PASS0m (0.00s)
/tmp/d20260603-1009-50w9c0/error/error.rb:1: warning: possibly useless use of a variable in void context
test_fail_fast_stops_cycle 32m PASS0m (0.00s)
test_cancels_slow_execution 32m PASS0m (0.14s)
test_seed_parameter_is_passed_through 32m PASS0m (0.00s)
test_cancels_slow_judge 32m PASS0m (0.10s)
test_terminates_on_lifetime 32m PASS0m (0.10s)
test_fails_when_no_judges_used 32m PASS0m (0.00s)
test_fails_when_empty_directory 32m PASS0m (0.00s)
test_extend_existing_factbase 32m PASS0m (0.00s)
test_no_failure_with_missing_judge_unexpected 32m PASS0m (0.00s)
test_appends_to_existing_summary 32m PASS0m (0.00s)
test_build_factbase_from_scratch 32m PASS0m (0.00s)
/tmp/d20260603-1009-m8l911/foo/foo.rb:1: warning: possibly useless use of < in void context
test_update_with_error_no_quiet 32m PASS0m (0.00s)
/tmp/d20260603-1009-54b4bq/first/first.rb:1: warning: possibly useless use of + in void context
/tmp/d20260603-1009-54b4bq/first/first.rb:1: warning: possibly useless use of + in void context
/tmp/d20260603-1009-54b4bq/first/first.rb:1: warning: possibly useless use of + in void context
test_isolates_churns 32m PASS0m (0.00s)
test_exports_fb_only_once 32m PASS0m (0.00s)
test_accepts_changes_from_slow_judge 32m PASS0m (0.10s)
test_no_failure_when_expect_judges_false 32m PASS0m (0.00s)
test_exports_churn_to_file_despite_error 32m PASS0m (0.10s)
/tmp/d20260603-1009-gag7ak/bar/bar.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-gag7ak/bar/bar.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-gag7ak/bar/bar.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-gag7ak/bar/bar.rb:1: warning: possibly useless use of a variable in void context
test_exports_fb_despite_judge_syntax_error 32m PASS0m (0.01s)
test_churn_file_creation 32m PASS0m (0.00s)
test_skipped_judge 32m PASS0m (0.00s)
test_passes_timeout_and_lifetime_through 32m PASS0m (0.00s)
test_reports_changes_from_slow_judge 32m PASS0m (0.10s)
test_exports_all_judges_despite_lifetime_timeout 32m PASS0m (0.00s)
/tmp/d20260603-1009-o5f2tv/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-o5f2tv/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-o5f2tv/foo/foo.rb:1: warning: possibly useless use of a variable in void context
/tmp/d20260603-1009-o5f2tv/foo/foo.rb:1: warning: possibly useless use of a variable in void context
test_update_with_error 32m PASS0m (0.00s)
TestPush
test_fails_on_http_error 32m PASS0m (0.01s)
test_push_simple_factbase 32m PASS0m (0.02s)
TestAsciiLoog
test_handles_empty_and_nil_messages 32m PASS0m (0.00s)
test_responds_to_original_logger_methods 32m PASS0m (0.00s)
test_converts_unicode_symbols 32m PASS0m (0.00s)
test_multiple_same_symbols 32m PASS0m (0.00s)
test_converts_all_defined_symbols 32m PASS0m (0.00s)
test_handles_mixed_encodings 32m PASS0m (0.00s)
test_delegates_unknown_methods 32m PASS0m (0.00s)
test_handles_binary_encoding 32m PASS0m (0.00s)
test_leaves_non_unicode_text_unchanged 32m PASS0m (0.00s)
test_mixed_unicode_and_ascii 32m PASS0m (0.00s)
TestUpload
test_fails_on_http_error 32m PASS0m (0.01s)
test_upload_with_custom_owner 32m PASS0m (0.01s)
test_fails_when_file_does_not_exist 32m PASS0m (0.00s)
test_fails_with_wrong_number_of_arguments 32m PASS0m (0.00s)
test_upload_simple_durable 32m PASS0m (0.01s)
TestPrettyException
test_hide_class 32m PASS0m (0.00s)
test_long_message 32m PASS0m (0.00s)
test_short_message 32m PASS0m (0.00s)
TestCategories
test_all_enabled 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
TestPrint
test_html_table_has_colgroup 32m PASS0m (0.01s)
test_simple_print 32m PASS0m (0.00s)
test_print_all_formats 32m PASS0m (0.01s)
test_print_to_html 33m SKIP0m (0.02s)
test_print_twice 32m PASS0m (0.00s)
TestPull
test_fail_pull_when_job_is_broken 32m PASS0m (0.01s)
test_pull_simple_factbase 32m PASS0m (0.01s)
test_unlocks_baza_on_success 32m PASS0m (0.01s)
TestInspect
test_simple_inspect 32m PASS0m (0.00s)
test_simple_inspect_with_summary 32m PASS0m (0.00s)
TestJudge
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_passes_local_vars_between_tests 32m PASS0m (0.00s)
test_run_isolated 32m PASS0m (0.00s)
test_sets_judge_value_correctly 32m PASS0m (0.00s)
test_with_runtime_ruby_error 32m PASS0m (0.00s)
test_with_standard_error 32m PASS0m (0.00s)
TestJudges
test_same_seed_produces_same_order 32m PASS0m (0.00s)
test_list_with_empty_dir 32m PASS0m (0.00s)
test_boost_and_demote_together 32m PASS0m (0.00s)
test_get_one 32m PASS0m (0.00s)
test_default_seed 32m PASS0m (0.00s)
test_basic 32m PASS0m (0.00s)
test_shuffles_them 32m PASS0m (0.00s)
test_keeps_them_all 32m PASS0m (0.01s)
test_shuffles_and_boosts 32m PASS0m (0.00s)
test_each_forwards_epoch_to_judge 32m PASS0m (0.00s)
test_list_only_direct_subdirs 32m PASS0m (0.00s)
test_demote_with_wildcard_patterns 32m PASS0m (0.00s)
test_boost_and_demote_with_wildcards_together 32m PASS0m (0.00s)
test_boost_with_wildcard_patterns 32m PASS0m (0.00s)
test_demotes_judges 32m PASS0m (0.00s)
test_different_seed_produces_different_order 32m PASS0m (0.00s)
TestJoin
test_simple_join 32m PASS0m (0.00s)
Finished in 3.13033s
137 tests, 424 assertions, 32m0 failures, 0 errors, 0m33m1 skips0m
Coverage report generated for test to /home/r/repo/coverage.
Line Coverage: 92.9% (968 / 1042)
Coverage report generated for test to /home/r/repo/coverage/coverage.xml.
Line Coverage: 92.9% (968 / 1042)
/usr/local/bin/ruby -S bundle exec cucumber --no-color --retry=2 --fail-fast --backtrace --order=random
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
# SPDX-License-Identifier: MIT
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:72
Then I run bin/judges with "push --token ZRCY-00000000-0000-0000-0000-000000000000 --meta a:b --meta foo:bar --meta=pages_url:https://zerocracy.github.io/zerocracy.html --meta=duration:1055 fake5f8d85765d2b17fc simple.fb # features/step_definitions/steps.rb:38
Then Stdout contains "Pushed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to HTML, in offline mode # 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 "--offline print --format=html simple.fb simple.html" # features/step_definitions/steps.rb:38
Then Stdout contains "printed" # features/step_definitions/steps.rb:64
Then simple.html contains "sha256-offline" # features/step_definitions/steps.rb:59
And Exit code is zero # features/step_definitions/steps.rb:72
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:126
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
"""
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:64
And Exit code is not zero # features/step_definitions/steps.rb:76
Scenario: The update fails when a bug in a judge # features/update.feature:116
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:64
And Exit code is not zero # features/step_definitions/steps.rb:76
Feature: Test
I want to test a few judges
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is not zero # features/step_definitions/steps.rb:76
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:64
Then Stdout contains "All 3 judge(s) and 3 tests passed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Update
I want to run a few judges over a factbase
Scenario: Avoid duplicate insert on error in the middle # features/update.feature:136
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:72
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:64
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Update
I want to run a few judges over a factbase
Scenario: Append to existing summary fact, with errors # features/update.feature:30
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "buggy/buggy.rb" file with content: "this is an intentional bug" # features/update.feature:32
Then I run bin/judges with "update --quiet --summary=append --max-cycles 1 . simple.fb" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
Then Stdout contains "Summary fact not found" # features/step_definitions/steps.rb:64
Then I run bin/judges with "update --quiet --summary=append --max-cycles 1 . 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 "Summary fact found" # features/step_definitions/steps.rb:64
Then Stdout contains "errors:" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to JSON # features/print.feature:29
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:76
Feature: Update
I want to run a few judges over a factbase
Scenario: Generate a summary fact, with errors # features/update.feature:21
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "buggy/buggy.rb" file with content: "this is an intentional bug" # features/update.feature:23
Then I run bin/judges with "update --quiet --summary=append --max-cycles 1 . simple.fb" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to XML # features/print.feature:36
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Scenario: Print twice, without --force # features/print.feature:51
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:64
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Update
I want to run a few judges over a factbase
Scenario: Skips the judge on lifetime running out # features/update.feature:52
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "first/first.rb" file with content: # features/step_definitions/steps.rb:33
"""
n = $fb.insert
n.type = 'first'
sleep 1.91
"""
Then I have a "second/second.rb" file with content: # features/step_definitions/steps.rb:33
"""
n = $fb.insert
n.type = 'second'
"""
Then I run bin/judges with "--verbose update --quiet --lifetime 4 --timeout 3 --max-cycles 5 --shuffle 'first' . simple.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Update completed in 2 cycle(s), did 3i/0d/3a" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Test
I want to test a few judges
Scenario: Factbase version can be set # features/test.feature:18
When I run bin/judges with "--factbase 0.19.10 --verbose test --judge guess ./fixtures" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
And Stdout contains "Factbase version to be used: '0.19.10'" # features/step_definitions/steps.rb:64
Feature: Update
I want to run a few judges over a factbase
Scenario: Delete a previous summary fact and create new one # features/update.feature:42
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "buggy/buggy.rb" file with content: "this is an intentional bug" # features/update.feature:44
Then I run bin/judges with "update --quiet --summary=add --max-cycles 1 . simple.fb" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
Then Stdout contains "Summary fact added" # features/step_definitions/steps.rb:64
Then I run bin/judges with "update --quiet --summary=add --max-cycles 1 . simple.fb" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
And Stdout contains "Summary fact deleted" # features/step_definitions/steps.rb:64
Feature: Echo
I want to see the full command line when using --echo flag
Scenario: Echo flag prints command line # features/echo.feature:7
When I run bin/judges with "--echo version" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
And Stdout contains "bin/judges --echo version" # features/step_definitions/steps.rb:64
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
And Stdout contains "joined" # features/step_definitions/steps.rb:64
Feature: Update
I want to run a few judges over a factbase
Scenario: Summarize results in statistics # features/update.feature:240
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "alpha/alpha.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'alpha'
sleep 1.91
"""
Then I have a "beta/beta.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'beta'
"""
Then I run bin/judges with "update --statistics --quiet --max-cycles 2 --lifetime 4 --timeout 3 --shuffle 'alpha' . stats.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Judge execution summary:" # features/step_definitions/steps.rb:64
Then Stdout contains "alpha" # features/step_definitions/steps.rb:64
Then Stdout contains "beta" # features/step_definitions/steps.rb:64
Then Stdout contains "1xOK" # features/step_definitions/steps.rb:64
Then Stdout contains "1xSKIPPED (timeout)" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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 "inspect simple.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Facts: 1" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Update
I want to run a few judges over a factbase
Scenario: Combine boost and demote # features/update.feature:197
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "priority/priority.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.type = 'priority'
"""
Then I have a "normal/normal.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.type = 'normal'
"""
Then I have a "delayed/delayed.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.type = 'delayed'
"""
Then I run bin/judges with "--verbose update --quiet --max-cycles 1 --boost priority --demote delayed . combined.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Running priority" # features/step_definitions/steps.rb:64
Then Stdout contains "Running normal" # features/step_definitions/steps.rb:64
Then Stdout contains "Running delayed" # features/step_definitions/steps.rb:64
Then Stdout contains "3 judge(s) processed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Test
I want to test a few judges
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 "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: []
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
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
"""
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:72
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 --hello 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:64
Then Stdout contains "BAR → " # features/step_definitions/steps.rb:64
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:64
Then Stdout contains "Update completed in 3 cycle(s), did 3i/0d/3a" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
Feature: Print
I want to print a factbase
Scenario: Simple print of a small factbase, to XML, with a query # 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 "--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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Inspect
I want to inspect a factbase
Scenario: Inspect with a summary # features/inspect.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.what = "judges-summary"'" # features/inspect.feature:16
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:100
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
"""
n = $fb.insert
n.foo = $foo
"""
Then I have a "mylib/foo.rb" file with content: # features/step_definitions/steps.rb:33
"""
$foo = 42
"""
Then I run bin/judges with "update --lib mylib --max-cycles 1 mine simple.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:64
Then Stdout contains "Update completed in 1 cycle(s)" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Scenario: Demote multiple judges # features/update.feature:171
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "first/first.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.order = 'first'
"""
Then I have a "second/second.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.order = 'second'
"""
Then I have a "third/third.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.order = 'third'
"""
Then I have a "fourth/fourth.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.order = 'fourth'
"""
Then I run bin/judges with "--verbose update --quiet --max-cycles 1 --demote second --demote fourth . multi.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Running first" # features/step_definitions/steps.rb:64
Then Stdout contains "Running third" # features/step_definitions/steps.rb:64
Then Stdout contains "Running second" # features/step_definitions/steps.rb:64
Then Stdout contains "Running fourth" # features/step_definitions/steps.rb:64
Then Stdout contains "4 judge(s) processed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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 completed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Update
I want to run a few judges over a factbase
Scenario: Simple demote of a single judge # features/update.feature:150
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "alpha/alpha.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'alpha'
"""
Then I have a "beta/beta.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'beta'
"""
Then I have a "gamma/gamma.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'gamma'
"""
Then I run bin/judges with "--verbose update --quiet --max-cycles 1 --demote beta . demote.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Running alpha" # features/step_definitions/steps.rb:64
Then Stdout contains "Running gamma" # features/step_definitions/steps.rb:64
Then Stdout contains "Running beta" # features/step_definitions/steps.rb:64
Then Stdout contains "3 judge(s) processed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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 ZRCY-00000000-0000-0000-0000-000000000000 --wait=15 fake4f8c3ec9aae2f432 simple.fb # features/step_definitions/steps.rb:38
Then Stdout contains "doesn't exist at api.zerocracy.com" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:72
Feature: Misc
I want to get some meta info
Scenario: Help can be printed # features/misc.feature:7
When I run bin/judges with "--help --hello" # features/step_definitions/steps.rb:38
Then Exit code is zero # features/step_definitions/steps.rb:72
And Stdout contains "--help" # features/step_definitions/steps.rb:64
Feature: Update
I want to run a few judges over a factbase
Scenario: Use options from a file # features/update.feature:69
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:64
Then Stdout contains "A2 → " # features/step_definitions/steps.rb:64
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:64
Then Stdout contains "Update completed" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
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:76
Feature: Update
I want to run a few judges over a factbase
Scenario: Show statistics for judge execution # features/update.feature:218
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I have a "alpha/alpha.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'alpha'
"""
Then I have a "beta/beta.rb" file with content: # features/step_definitions/steps.rb:33
"""
$fb.insert.name = 'beta'
"""
Then I run bin/judges with "update --statistics --quiet --max-cycles 1 . stats.fb" # features/step_definitions/steps.rb:38
Then Stdout contains "Judge execution summary:" # features/step_definitions/steps.rb:64
Then Stdout contains "Judge" # features/step_definitions/steps.rb:64
Then Stdout contains "Seconds" # features/step_definitions/steps.rb:64
Then Stdout contains "Changes" # features/step_definitions/steps.rb:64
Then Stdout contains "Cycles" # features/step_definitions/steps.rb:64
Then Stdout contains "Result" # features/step_definitions/steps.rb:64
Then Stdout contains "alpha" # features/step_definitions/steps.rb:64
Then Stdout contains "beta" # features/step_definitions/steps.rb:64
Then Stdout contains "OK" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Scenario: Simple run with a timeout for a judge # features/update.feature:87
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:64
Then Stdout contains "1 judge(s) processed" # features/step_definitions/steps.rb:64
Then Stdout contains "Update completed in 1 cycle(s), did nothing" # features/step_definitions/steps.rb:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Test
I want to test a few judges
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:64
And Exit code is zero # features/step_definitions/steps.rb:72
Feature: Version
I want to know the version of the gem
Scenario: Print the version # features/version.feature:7
Given I make a temp directory # features/step_definitions/steps.rb:27
Then I run bin/judges with "version" # features/step_definitions/steps.rb:38
And Exit code is zero # features/step_definitions/steps.rb:72
49 scenarios (4 undefined, 45 passed)
301 steps (22 skipped, 4 undefined, 275 passed)
0m46.327s
Randomized with seed 7182
You can implement step definitions for undefined steps with these snippets:
Then('I have a {string} file with content: {string}') do |string, string2|
pending # Write code here that turns the phrase above into concrete actions
end
Then('I run bin\/judges with "--verbose eval simple.fb {string}"') do |string|
pending # Write code here that turns the phrase above into concrete actions
end
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+ bundle exec ruby test/commands/test_download.rb /#1455
#1455: Started with run options --seed 40306
#1455:
#1455: TestDownload
#1455: test_download_simple_durable PASS (0.10s)
#1455: test_handles_not_found_durable PASS (0.00s)
#1455: test_download_with_custom_owner PASS (0.01s)
#1455: test_fails_on_http_error PASS (0.01s)
#1455: test_fails_with_wrong_number_of_arguments PASS (0.00s)
#1455:
#1455: Finished in 0.12275s
#1455: 5 tests, 6 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_eval.rb /#1467
#1467: Started with run options --seed 40892
#1467:
#1467: TestEval
#1467: test_build_factbase_from_scratch PASS (0.00s)
#1467:
#1467: Finished in 0.00422s
#1467: 1 tests, 2 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_import.rb /#1478
#1478: Started with run options --seed 52412
#1478:
#1478: TestImport
#1478: test_import_from_yaml PASS (0.01s)
#1478:
#1478: Finished in 0.01316s
#1478: 1 tests, 2 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_inspect.rb /#1489
#1489: Started with run options --seed 55717
#1489:
#1489: TestInspect
#1489: test_simple_inspect_with_summary PASS (0.01s)
#1489: test_simple_inspect PASS (0.00s)
#1489:
#1489: Finished in 0.01672s
#1489: 2 tests, 4 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_join.rb /#1500
#1500: Started with run options --seed 26193
#1500:
#1500: TestJoin
#1500: test_simple_join PASS (0.00s)
#1500:
#1500: Finished in 0.00496s
#1500: 1 tests, 6 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_print.rb /#1511
#1511: Started with run options --seed 53064
#1511:
#1511: TestPrint
#1511: test_html_table_has_colgroup PASS (0.03s)
#1511: test_print_all_formats PASS (0.00s)
#1511: test_print_to_html SKIP (0.01s)
#1511: test_print_twice PASS (0.00s)
#1511: test_simple_print PASS (0.00s)
#1511:
#1511: Finished in 0.05142s
#1511: 5 tests, 16 assertions, 0 failures, 0 errors, 1 skips
+ bundle exec ruby test/commands/test_pull.rb /#1526
#1526: Started with run options --seed 6430
#1526:
#1526: TestPull
#1526: test_pull_simple_factbase PASS (0.05s)
#1526: test_fail_pull_when_job_is_broken PASS (0.01s)
#1526: test_unlocks_baza_on_success PASS (0.01s)
#1526:
#1526: Finished in 0.07293s
#1526: 3 tests, 4 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_push.rb /#1538
#1538: Started with run options --seed 37040
#1538:
#1538: TestPush
#1538: test_fails_on_http_error PASS (0.05s)
#1538: test_push_simple_factbase PASS (0.01s)
#1538:
#1538: Finished in 0.06563s
#1538: 2 tests, 1 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_test.rb /#1550
#1550: Started with run options --seed 51722
#1550:
#1550: TestTest
#1550: test_with_options PASS (0.00s)
#1550: test_with_expected_failure PASS (0.00s)
#1550: test_negative PASS (0.01s)
#1550: test_with_after_assertion PASS (0.00s)
#1550: test_with_timeout_success PASS (0.00s)
#1550: test_with_expected_failure_no_string PASS (0.00s)
#1550: test_with_timeout_in_after_script PASS (1.00s)
#1550: test_with_before PASS (0.00s)
#1550: test_ellipsized_long_script_name PASS (0.00s)
#1550: test_positive PASS (0.00s)
#1550: test_one_judge_negative PASS (0.00s)
#1550: test_with_timeout_failure PASS (1.00s)
#1550:
#1550: Finished in 2.03685s
#1550: 12 tests, 15 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_trim.rb /#1562
#1562: Started with run options --seed 37030
#1562:
#1562: TestTrim
#1562: test_trims_factbase PASS (0.02s)
#1562:
#1562: Finished in 0.01838s
#1562: 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_update.rb /#1573
#1573: Started with run options --seed 29458
#1573:
#1573: TestUpdate
#1573: test_fails_when_no_judges_used PASS (0.00s)
#1573: test_exports_fb_only_once PASS (0.00s)
#1573: test_update_with_options_in_file PASS (0.00s)
#1573: test_no_failure_with_missing_judge_unexpected PASS (0.00s)
#1573: test_cancels_slow_execution PASS (0.14s)
#1573: test_isolates_churns PASS (0.00s)
#1573: test_accepts_changes_from_slow_judge PASS (0.10s)
#1573: test_appends_to_existing_summary PASS (0.00s)
#1573: test_log_pretty_github_exception PASS (0.06s)
#1573: test_skipped_judge PASS (0.00s)
#1573: test_build_factbase_from_scratch PASS (0.00s)
#1573: test_reports_changes_from_slow_judge PASS (0.10s)
#1573: test_exports_all_judges_despite_lifetime_timeout PASS (0.00s)
#1573: test_update_with_error PASS (0.00s)
#1573: test_exports_churn_to_file_despite_error PASS (0.10s)
#1573: test_fail_fast_stops_cycle PASS (0.00s)
#1573: test_cancels_slow_judge PASS (0.10s)
#1573: test_no_failure_when_expect_judges_false PASS (0.00s)
#1573: test_exports_fb_despite_judge_syntax_error PASS (0.00s)
#1573: test_update_with_error_and_summary PASS (0.00s)
#1573: test_extend_existing_factbase PASS (0.00s)
#1573: test_churn_file_creation PASS (0.00s)
#1573: test_passes_timeout_and_lifetime_through PASS (0.00s)
#1573: test_with_only_one_judge PASS (0.01s)
#1573: test_fails_when_empty_directory PASS (0.00s)
#1573: test_terminates_on_lifetime PASS (0.10s)
#1573: test_seed_parameter_is_passed_through PASS (0.00s)
#1573: test_update_with_error_no_quiet PASS (0.01s)
#1573:
#1573: Finished in 0.78491s
#1573: 28 tests, 65 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/commands/test_upload.rb /#1585
#1585: Started with run options --seed 29701
#1585:
#1585: TestUpload
#1585: test_fails_when_file_does_not_exist PASS (0.00s)
#1585: test_upload_simple_durable PASS (0.05s)
#1585: test_fails_on_http_error PASS (0.01s)
#1585: test_fails_with_wrong_number_of_arguments PASS (0.00s)
#1585: test_upload_with_custom_owner PASS (0.01s)
#1585:
#1585: Finished in 0.07216s
#1585: 5 tests, 4 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test__helper.rb /#1597
#1597: Started with run options --seed 18342
#1597:
#1597: Finished in 0.00098s
#1597: 0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_ascii_loog.rb /#1608
#1608: Started with run options --seed 21637
#1608:
#1608: TestAsciiLoog
#1608: test_delegates_unknown_methods PASS (0.00s)
#1608: test_handles_mixed_encodings PASS (0.00s)
#1608: test_mixed_unicode_and_ascii PASS (0.00s)
#1608: test_handles_empty_and_nil_messages PASS (0.00s)
#1608: test_handles_binary_encoding PASS (0.00s)
#1608: test_converts_unicode_symbols PASS (0.00s)
#1608: test_multiple_same_symbols PASS (0.00s)
#1608: test_responds_to_original_logger_methods PASS (0.00s)
#1608: test_converts_all_defined_symbols PASS (0.00s)
#1608: test_leaves_non_unicode_text_unchanged PASS (0.00s)
#1608:
#1608: Finished in 0.00393s
#1608: 10 tests, 44 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_bin.rb /#1619
#1619: Started with run options --seed 18389
#1619:
#1619: TestBin
#1619: test_simple_run PASS (0.06s)
#1619:
#1619: Finished in 0.05634s
#1619: 1 tests, 2 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_categories.rb /#1630
#1630: Started with run options --seed 45523
#1630:
#1630: TestCategories
#1630: test_all_enabled PASS (0.00s)
#1630: test_basic PASS (0.00s)
#1630:
#1630: Finished in 0.00145s
#1630: 2 tests, 11 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_impex.rb /#1641
#1641: Started with run options --seed 52681
#1641:
#1641: TestImpex
#1641: test_strict_import PASS (0.00s)
#1641: test_basic PASS (0.00s)
#1641:
#1641: Finished in 0.00379s
#1641: 2 tests, 0 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_judge.rb /#1652
#1652: Started with run options --seed 51978
#1652:
#1652: TestJudge
#1652: test_sets_start_value_correctly PASS (0.00s)
#1652: test_with_standard_error PASS (0.00s)
#1652: test_with_broken_ruby_syntax PASS (0.00s)
#1652: test_sets_judge_value_correctly PASS (0.00s)
#1652: test_passes_local_vars_between_tests PASS (0.00s)
#1652: test_run_isolated PASS (0.00s)
#1652: test_basic_run PASS (0.00s)
#1652: test_with_runtime_ruby_error PASS (0.00s)
#1652:
#1652: Finished in 0.00888s
#1652: 8 tests, 11 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_judges.rb /#1663
#1663: Started with run options --seed 11598
#1663:
#1663: TestJudges
#1663: test_shuffles_and_boosts PASS (0.00s)
#1663: test_demotes_judges PASS (0.00s)
#1663: test_default_seed PASS (0.00s)
#1663: test_different_seed_produces_different_order PASS (0.00s)
#1663: test_boost_and_demote_with_wildcards_together PASS (0.00s)
#1663: test_demote_with_wildcard_patterns PASS (0.00s)
#1663: test_keeps_them_all PASS (0.00s)
#1663: test_list_only_direct_subdirs PASS (0.00s)
#1663: test_same_seed_produces_same_order PASS (0.00s)
#1663: test_each_forwards_epoch_to_judge PASS (0.00s)
#1663: test_shuffles_them PASS (0.00s)
#1663: test_get_one PASS (0.00s)
#1663: test_list_with_empty_dir PASS (0.00s)
#1663: test_boost_and_demote_together PASS (0.00s)
#1663: test_boost_with_wildcard_patterns PASS (0.00s)
#1663: test_basic PASS (0.00s)
#1663:
#1663: Finished in 0.03207s
#1663: 16 tests, 133 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_options.rb /#1674
#1674: Started with run options --seed 2834
#1674:
#1674: TestOptions
#1674: test_case_insensitive PASS (0.00s)
#1674: test_converts_to_string PASS (0.00s)
#1674: test_merge_by_symbols PASS (0.00s)
#1674: test_basic PASS (0.00s)
#1674: test_with_string PASS (0.00s)
#1674: test_with_nil_values PASS (0.00s)
#1674: test_with_empty_strings PASS (0.00s)
#1674: test_with_nil PASS (0.00s)
#1674: test_stips_spaces PASS (0.00s)
#1674: test_with_empty_string PASS (0.00s)
#1674: test_with_hash PASS (0.00s)
#1674: test_merge PASS (0.00s)
#1674:
#1674: Finished in 0.00263s
#1674: 12 tests, 28 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_pretty_exception.rb /#1685
#1685: Started with run options --seed 16348
#1685:
#1685: TestPrettyException
#1685: test_long_message PASS (0.00s)
#1685: test_hide_class PASS (0.00s)
#1685: test_short_message PASS (0.00s)
#1685:
#1685: Finished in 0.00088s
#1685: 3 tests, 6 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_statistics.rb /#1696
#1696: Started with run options --seed 6333
#1696:
#1696: TestStatistics
#1696: test_judges_sorted_by_total_time PASS (0.00s)
#1696: test_record_basic_statistics PASS (0.00s)
#1696: test_not_empty_after_recording PASS (0.00s)
#1696: test_very_long_judge_names PASS (0.00s)
#1696: test_result_summarization_single_result PASS (0.00s)
#1696: test_empty_statistics PASS (0.00s)
#1696: test_empty_report PASS (0.00s)
#1696: test_fractional_seconds_formatting PASS (0.00s)
#1696: test_record_multiple_judges PASS (0.00s)
#1696: test_report_format_headers PASS (0.00s)
#1696: test_record_with_churn PASS (0.00s)
#1696: test_record_multiple_cycles_same_judge PASS (0.00s)
#1696: test_result_summarization_mixed_results PASS (0.00s)
#1696: test_skipped_results PASS (0.00s)
#1696: test_record_without_churn PASS (0.00s)
#1696:
#1696: Finished in 0.00408s
#1696: 15 tests, 61 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby test/test_to_rel.rb /#1707
#1707: Started with run options --seed 18856
#1707:
#1707: TestToRel
#1707: test_maps_dir_name PASS (0.00s)
#1707: test_simple_mapping PASS (0.00s)
#1707:
#1707: Finished in 0.00093s
#1707: 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
+ bundle exec ruby lib/judges/ascii_loog.rb /#1718
+ bundle exec ruby lib/judges/categories.rb /#1729
+ bundle exec ruby lib/judges/commands/download.rb /#1740
+ bundle exec ruby lib/judges/commands/eval.rb /#1751
+ bundle exec ruby lib/judges/commands/import.rb /#1762
+ bundle exec ruby lib/judges/commands/inspect.rb /#1773
+ bundle exec ruby lib/judges/commands/join.rb /#1784
+ bundle exec ruby lib/judges/commands/print.rb /#1795
+ bundle exec ruby lib/judges/commands/pull.rb /#1806
+ bundle exec ruby lib/judges/commands/push.rb /#1817
+ bundle exec ruby lib/judges/commands/test.rb /#1828
+ bundle exec ruby lib/judges/commands/trim.rb /#1839
+ bundle exec ruby lib/judges/commands/update.rb /#1850
+ bundle exec ruby lib/judges/commands/upload.rb /#1861
+ bundle exec ruby lib/judges/impex.rb /#1872
+ bundle exec ruby lib/judges/judge.rb /#1883
+ bundle exec ruby lib/judges/judges.rb /#1894
+ bundle exec ruby lib/judges/options.rb /#1905
+ bundle exec ruby lib/judges/pretty_exception.rb /#1916
+ bundle exec ruby lib/judges/statistics.rb /#1927
+ bundle exec ruby lib/judges/to_rel.rb /#1938
+ bundle exec ruby lib/judges.rb /#1949
Running RuboCop...
Inspecting 53 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.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m
53 files inspected, 32mno offenses0m detected
?25h2KFiles:1mβ£ΎaGenera22ngudoc/Judges/Download.html0m.html0m
Modules: 1 ( 0 undocumented)
Classes: 21 ( 0 undocumented)
Constants: 2 ( 2 undocumented)
Attributes: 1 ( 0 undocumented)
Methods: 60 ( 1 undocumented)
96.47% documented
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R ubuntu repo
+ cd repo
+ git push origin master
remote:
remote: GitHub found 2 vulnerabilities on yegor256/judges's default branch (1 high, 1 moderate). To find out more, visit:
remote: https://github.com/yegor256/judges/security/dependabot
remote:
To github.com:yegor256/judges.git
9ed1537..601c766 master -> master
container bd7067ee2820a45f9d8cf707ad6c384cba507d017a5c30c9e54f9b62e07a5bf9 is dead
Wed Jun 3 11:16:06 UTC 2026