+ set -e + set -o pipefail ++ dirname ./run.sh + cd . + echo 14581 + echo '1.69.1 839260fab' 1.69.1 839260fab + date Wed Aug 5 09:22:18 CEST 2020 + uptime 09:22:18 up 293 days, 5:31, 0 users, load average: 4.57, 5.06, 5.06 + ff=default + image=yegor256/rultor-image + rebase=false + head_branch=master + pull_title='Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency' + author=yegor256 + directory= + head=git@github.com:yegor256/xcop.git + pull_id=28 + fork=git@github.com:dgroup/xcop.git + fork_branch=nok + squash=false + vars=('--env=head=git@github.com:yegor256/xcop.git' '--env=pull_id=28' '--env=fork=git@github.com:dgroup/xcop.git' '--env=fork_branch=nok' '--env=head_branch=master' '--env=pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency' '--env=author=yegor256' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/xcop.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=28'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:dgroup/xcop.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=nok'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''sudo apt-get -y update'\'' '\'';'\'' '\''sudo gem install pdd -v 0.20.5'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' )') + scripts=('export '\''head=git@github.com:yegor256/xcop.git'\''' ';' 'export '\''pull_id=28'\''' ';' 'export '\''fork=git@github.com:dgroup/xcop.git'\''' ';' 'export '\''fork_branch=nok'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency'\''' ';' 'export '\''author=yegor256'\''' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'sudo apt-get -y update' ';' 'sudo gem install pdd -v 0.20.5' ';' 'bundle install' ';' 'bundle exec rake' ';' 'pdd -f /dev/null' ';') + container=yegor256_xcop_28 + as_root=false + mkdir -p /home/rultor/.ssh + echo -e 'Host github.com\n\tStrictHostKeyChecking no\n' + chmod 600 /home/rultor/.ssh/config + git clone git@github.com:yegor256/xcop.git repo Cloning into 'repo'... + cd repo + git config user.email me@rultor.com + git config user.name rultor + '[' -z 'export '\''head=git@github.com:yegor256/xcop.git'\''' ']' + cd .. + cat + '[' false = true ']' + cat + chmod a+x entry.sh + cat + echo 'export '\''head=git@github.com:yegor256/xcop.git'\''' ';' 'export '\''pull_id=28'\''' ';' 'export '\''fork=git@github.com:dgroup/xcop.git'\''' ';' 'export '\''fork_branch=nok'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency'\''' ';' 'export '\''author=yegor256'\''' ';' 'export GEM_HOME=~/.ruby' ';' 'export GEM_PATH=$GEM_HOME:$GEM_PATH' ';' 'sudo apt-get -y update' ';' 'sudo gem install pdd -v 0.20.5' ';' 'bundle install' ';' 'bundle exec rake' ';' 'pdd -f /dev/null' ';' + sensitive=() + rm -rf .gpg + cd repo + git remote add fork git@github.com:dgroup/xcop.git + git remote update Fetching origin Fetching fork From github.com:dgroup/xcop * [new branch] master -> fork/master * [new branch] nok -> fork/nok + args= + '[' default == default ']' + args=' --ff' + '[' default == no ']' + '[' default == only ']' + export BRANCH=__rultor + BRANCH=__rultor ++ git show-branch __rultor ++ wc -l + '[' 0 -gt 0 ']' + git checkout -B __rultor fork/nok Switched to a new branch '__rultor' Branch __rultor set up to track remote branch nok 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 Auto-merging xcop.gemspec Merge made by the 'recursive' strategy. xcop.gemspec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) + docker_when_possible + true ++ uptime ++ sed 's/ /\n/g' ++ tail -n 1 + load=5.06 ++ echo 5.06 '>' 30 ++ bc + '[' 0 -eq 1 ']' + echo 'load average is 5.06, low enough to run a new Docker container' load average is 5.06, low enough to run a new Docker container + break + cd .. + '[' -n '' ']' + use_image=yegor256/rultor-image + docker pull yegor256/rultor-image Using default tag: latest latest: Pulling from yegor256/rultor-image 5bed26d33875: Pulling fs layer f11b29a9c730: Pulling fs layer 930bda195c84: Pulling fs layer 78bf9a5ad49e: Pulling fs layer bd92b3300a5c: Pulling fs layer a4e411970f61: Pulling fs layer cd3950cd7df2: Pulling fs layer 8f530b1cfb92: Pulling fs layer 812074e49c42: Pulling fs layer 3a5f1edc3977: Pulling fs layer bee1a1b6364d: Pulling fs layer f6bfd9b2cfd9: Pulling fs layer f150775b93f0: Pulling fs layer 2fa35ef3e60f: Pulling fs layer 7697dc9f50cb: Pulling fs layer baab9a0785c0: Pulling fs layer 63f489a107a7: Pulling fs layer 8a395104028e: Pulling fs layer 49f7433ed3e1: Pulling fs layer 27b75b92e685: Pulling fs layer 49573aff720b: Pulling fs layer 6c7a6acc15a7: Pulling fs layer 2fcd87bfa5db: Pulling fs layer 0549ec9ec8ed: Pulling fs layer 70bdcfc588ca: Pulling fs layer 3b367e0aa6a5: Pulling fs layer 310891b65deb: Pulling fs layer 7697dc9f50cb: Waiting baab9a0785c0: Waiting 8f530b1cfb92: Waiting 63f489a107a7: Waiting 812074e49c42: Waiting 8a395104028e: Waiting 3a5f1edc3977: Waiting 49f7433ed3e1: Waiting bee1a1b6364d: Waiting 27b75b92e685: Waiting f6bfd9b2cfd9: Waiting f150775b93f0: Waiting 49573aff720b: Waiting 2fa35ef3e60f: Waiting 78bf9a5ad49e: Waiting 6c7a6acc15a7: Waiting 2fcd87bfa5db: Waiting 0549ec9ec8ed: Waiting 310891b65deb: Waiting bd92b3300a5c: Waiting a4e411970f61: Waiting 70bdcfc588ca: Waiting 3b367e0aa6a5: Waiting cd3950cd7df2: Waiting 930bda195c84: Verifying Checksum 930bda195c84: Download complete f11b29a9c730: Download complete 78bf9a5ad49e: Download complete bd92b3300a5c: Download complete a4e411970f61: Download complete 5bed26d33875: Verifying Checksum 5bed26d33875: Download complete 5bed26d33875: Pull complete f11b29a9c730: Pull complete 930bda195c84: Pull complete 78bf9a5ad49e: Pull complete bd92b3300a5c: Pull complete cd3950cd7df2: Verifying Checksum cd3950cd7df2: Download complete a4e411970f61: Pull complete 812074e49c42: Verifying Checksum 812074e49c42: Download complete cd3950cd7df2: Pull complete bee1a1b6364d: Verifying Checksum bee1a1b6364d: Download complete 3a5f1edc3977: Verifying Checksum 3a5f1edc3977: Download complete f150775b93f0: Verifying Checksum f150775b93f0: Download complete 2fa35ef3e60f: Verifying Checksum 2fa35ef3e60f: Download complete 7697dc9f50cb: Verifying Checksum 7697dc9f50cb: Download complete 8f530b1cfb92: Verifying Checksum 8f530b1cfb92: Download complete f6bfd9b2cfd9: Verifying Checksum f6bfd9b2cfd9: Download complete 8a395104028e: Download complete 8f530b1cfb92: Pull complete 812074e49c42: Pull complete 3a5f1edc3977: Pull complete bee1a1b6364d: Pull complete f6bfd9b2cfd9: Pull complete f150775b93f0: Pull complete 2fa35ef3e60f: Pull complete 49f7433ed3e1: Verifying Checksum 49f7433ed3e1: Download complete 7697dc9f50cb: Pull complete 27b75b92e685: Download complete 49573aff720b: Verifying Checksum 49573aff720b: Download complete 6c7a6acc15a7: Verifying Checksum 6c7a6acc15a7: Download complete 63f489a107a7: Verifying Checksum 63f489a107a7: Download complete 0549ec9ec8ed: Verifying Checksum 0549ec9ec8ed: Download complete 70bdcfc588ca: Verifying Checksum 70bdcfc588ca: Download complete 2fcd87bfa5db: Verifying Checksum 2fcd87bfa5db: Download complete baab9a0785c0: Verifying Checksum baab9a0785c0: Download complete 310891b65deb: Verifying Checksum 310891b65deb: Download complete 3b367e0aa6a5: Verifying Checksum 3b367e0aa6a5: Download complete baab9a0785c0: Pull complete 63f489a107a7: Pull complete 8a395104028e: Pull complete 49f7433ed3e1: Pull complete 27b75b92e685: Pull complete 49573aff720b: Pull complete 6c7a6acc15a7: Pull complete 2fcd87bfa5db: Pull complete 0549ec9ec8ed: Pull complete 70bdcfc588ca: Pull complete 3b367e0aa6a5: Pull complete 310891b65deb: Pull complete Digest: sha256:9e0007d3c1f97c64052760bdfa4d74366099fc980adbe1cc58bbffbb92ca628a Status: Downloaded newer image for yegor256/rultor-image:latest + docker ps --filter=status=exited + grep --quiet '\syegor256_xcop_28\s*$' + ls -al . total 720 drwx--x--x 3 rultor rultor 4096 Aug 5 09:22 . drwxrwxrwt 284 root root 684032 Aug 5 09:24 .. -rw-rw-r-- 1 rultor rultor 444 Aug 5 09:23 end.sh -rwxrwxr-x 1 rultor rultor 363 Aug 5 09:22 entry.sh -rw-rw-r-- 1 rultor rultor 6 Aug 5 09:22 pid drwxrwxr-x 8 rultor rultor 4096 Aug 5 09:22 repo -rw-rw-r-- 1 rultor rultor 56 Aug 5 09:22 rubygems.yml -rwxrwxr-x 1 rultor rultor 6000 Aug 5 09:22 run.sh -rw-rw-r-- 1 rultor rultor 593 Aug 5 09:22 script.sh -rw-rw-r-- 1 rultor rultor 8666 Aug 5 09:24 stdout ++ pwd ++ pwd + docker run -t --rm -v /tmp/rultor-47Ub:/main --env=head=git@github.com:yegor256/xcop.git --env=pull_id=28 --env=fork=git@github.com:dgroup/xcop.git --env=fork_branch=nok --env=head_branch=master '--env=pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency' --env=author=yegor256 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/xcop.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_id=28'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork=git@github.com:dgroup/xcop.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''fork_branch=nok'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''export GEM_HOME=~/.ruby'\'' '\'';'\'' '\''export GEM_PATH=$GEM_HOME:$GEM_PATH'\'' '\'';'\'' '\''sudo apt-get -y update'\'' '\'';'\'' '\''sudo gem install pdd -v 0.20.5'\'' '\'';'\'' '\''bundle install'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' )' --hostname=docker --privileged --memory=6g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-47Ub/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_xcop_28 yegor256/rultor-image /main/entry.sh WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. + set -e + set -o pipefail + shopt -s dotglob + useradd -m -G sudo r + usermod -s /bin/bash r + echo '%sudo ALL=(ALL) NOPASSWD:ALL' + cp -R /root/.bashrc /root/.cache /root/.composer /root/.gem /root/.gnupg /root/.m2 /root/.profile /root/texmf /home/r + cp -R ./cid ./end.sh ./entry.sh ./pid ./repo ./rubygems.yml ./run.sh ./script.sh ./stdout /home/r + rm -rf repo + chown -R r:r /home/r + chmod a+x /home/r/script.sh + su --login r --command /home/r/script.sh mesg: cannot open /dev/pts/0: Permission denied + set -e + set -o pipefail + shopt -s expand_aliases + alias 'sudo=sudo -i' + export HOME=/home/r + HOME=/home/r + cd /home/r/repo + export head=git@github.com:yegor256/xcop.git + head=git@github.com:yegor256/xcop.git + export pull_id=28 + pull_id=28 + export fork=git@github.com:dgroup/xcop.git + fork=git@github.com:dgroup/xcop.git + export fork_branch=nok + fork_branch=nok + export head_branch=master + head_branch=master + export 'pull_title=Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency' + pull_title='Unable to use xcop with ruby 2.7.1 due to obsolete nokogiri dependency' + export author=yegor256 + author=yegor256 + export GEM_HOME=/home/r/.ruby + GEM_HOME=/home/r/.ruby + export GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.6.0:/usr/local/rvm/gems/ruby-2.6.0@global + GEM_PATH=/home/r/.ruby:/usr/local/rvm/gems/ruby-2.6.0:/usr/local/rvm/gems/ruby-2.6.0@global + sudo -i apt-get -y update Get:1ohttp://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic InRelease [15.9 kB] Get:2ohttp://security.ubuntu.com/ubuntuWbionic-securityeInReleaseR[88.7ekB]036 Get:3ohttp://ppa.launchpad.net/git-core/ppa/ubuntuvbionictInRelease1[20.7ekB]e1 Get:4 https://deb.nodesource.com/node_10.x bionicsInReleasel[4,5844B] kB/20.7 k Hit:5 http://archive.ubuntu.com/ubuntu bionicaInReleaseInRelease 14.2 kB/20.7 k Get:6ahttp://archive.ubuntu.com/ubuntu1bionic-updates3InReleasee[88.7 kB]20.7 k Get:7 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InReleaseo[20.8ikB]to p Get:8 http://security.ubuntu.com/ubuntufbionic-security/universetamd64.Packages [882 kB] Get:9 http://archive.ubuntu.com/ubuntu bionic-backportsPInRelease,[74.6/kB] kB Get:10Ihttp://ppa.launchpad.net/deadsnakes/ppa/ubuntukbionic/maintamd64oPackages [35.1 kB] Get:11Phttp://security.ubuntu.com/ubuntupbionic-security/restrictedaamd64hPackages [100 kB] Get:12Phttp://security.ubuntu.com/ubuntu0bionic-security/mainaamd641Packagese[1,037 kB] Get:13Ihttp://security.ubuntu.com/ubuntugbionic-security/multiverse1amd64.Packages [9,555 B] Get:14Ihttp://ppa.launchpad.net/git-core/ppa/ubuntuBbionic/mainnamd64pPackagesh[3,181 B] Get:15Ihttp://ppa.launchpad.net/ondrej/php/ubuntulbionic/maintamd641Packages)[62.4 kB] Get:16Ihttps://deb.nodesource.com/node_10.x4bionic/main amd64]Packagesg[766 B]a Get:17Ihttp://archive.ubuntu.com/ubuntufbionic-updates/multiverseramd64ePackages [27.1 kB] Get:18Ihttp://archive.ubuntu.com/ubuntufbionic-updates/restrictedsamd647Packages [116 kB] Get:198http://archive.ubuntu.com/ubuntugbionic-updates/universe amd64 Packages [1,413 kB] Get:20ohttp://archive.ubuntu.com/ubuntusbionic-updates/main amd64 Packages [1,334 kB] Get:219http://archive.ubuntu.com/ubuntusbionic-backports/universe amd64 Packages [8,432 B] Fetchedo5,344]kBsint1se(3,9502kB/s)kages 3,980 B/8,432 B 47%] Reading package lists... Done + sudo -i gem install pdd -v 0.20.5 Successfully installed pdd-0.20.5 Parsing documentation for pdd-0.20.5 Done installing documentation for pdd after 0 seconds 1 gem installed + bundle install Fetching gem metadata from https://rubygems.org/......... Resolving dependencies... 32mFetching rake 12.3.30m 32mInstalling rake 12.3.30m 32mFetching ast 2.4.10m 32mInstalling ast 2.4.10m 32mFetching builder 3.2.40m 32mInstalling builder 3.2.40m Using bundler 2.1.4 32mFetching json 1.8.60m 32mInstalling json 1.8.6 with native extensions0m 32mFetching docile 1.3.20m 32mInstalling docile 1.3.20m 32mFetching simplecov-html 0.12.20m 32mInstalling simplecov-html 0.12.20m 32mFetching simplecov 0.18.50m 32mInstalling simplecov 0.18.50m 32mFetching url 0.3.20m 32mInstalling url 0.3.20m 32mFetching codecov 0.1.100m 32mInstalling codecov 0.1.100m 32mFetching diff-lcs 1.4.40m 32mInstalling diff-lcs 1.4.40m GemWrappers: Can not wrap missing file: htmldiff GemWrappers: Can not wrap missing file: ldiff 32mFetching multi_json 1.15.00m 32mInstalling multi_json 1.15.00m 32mFetching gherkin 2.12.20m 32mInstalling gherkin 2.12.2 with native extensions0m 32mFetching multi_test 0.1.20m 32mInstalling multi_test 0.1.20m 32mFetching cucumber 1.3.170m 32mInstalling cucumber 1.3.170m GemWrappers: Can not wrap missing file: cucumber Using differ 0.1.2 Using mini_portile2 2.4.0 32mFetching minitest 5.5.00m 32mInstalling minitest 5.5.00m 32mFetching nokogiri 1.10.100m 32mInstalling nokogiri 1.10.10 with native extensions0m 32mFetching parallel 1.19.20m 32mInstalling parallel 1.19.20m 32mFetching parser 2.7.1.40m 32mInstalling parser 2.7.1.40m GemWrappers: Can not wrap missing file: ruby-parse GemWrappers: Can not wrap missing file: ruby-rewrite 32mFetching powerpack 0.1.20m 32mInstalling powerpack 0.1.20m Using rainbow 3.0.0 32mFetching rdoc 4.2.00m 32mInstalling rdoc 4.2.00m 32mFetching ruby-progressbar 1.10.10m 32mInstalling ruby-progressbar 1.10.10m 32mFetching unicode-display_width 1.7.00m 32mInstalling unicode-display_width 1.7.00m 32mFetching rubocop 0.52.00m 32mInstalling rubocop 0.52.00m GemWrappers: Can not wrap missing file: rubocop 32mFetching rubocop-rspec 1.5.10m 32mInstalling rubocop-rspec 1.5.10m 32mFetching slop 4.8.20m 32mInstalling slop 4.8.20m Using xcop 1.0.snapshot from source at `.` 32mBundle complete! 8 Gemfile dependencies, 30 gems now installed.0m 32mUse `bundle info [gemname]` to see where a bundled gem is installed.0m 32mPost-install message from rdoc:0m Depending on your version of ruby, you may need to install ruby rdoc/ri data: <= 1.8.6 : unsupported = 1.8.7 : gem install rdoc-data; rdoc-data --install = 1.9.1 : gem install rdoc-data; rdoc-data --install >= 1.9.2 : nothing to do! Yay! + bundle exec rake /home/r/.ruby/gems/minitest-5.5.0/lib/minitest/assertions.rb:413: warning: mismatched indentations at 'ensure' with 'begin' at 404 /home/r/.ruby/gems/minitest-5.5.0/lib/minitest/assertions.rb:452: warning: mismatched indentations at 'ensure' with 'begin' at 437 Run options: --seed 50887 # Running: .......Running xcop... Inspecting 1 file... 31m<z><a><b></b></a>\n \n </z>0m32m<?xml version="1.0"?>\n <z>\n <a>\n <b/>\n </a>\n </z>\n0m Invalid XML formatting in broken.xml . Finished in 0.005609s, 1426.3334 runs/s, 1426.3334 assertions/s. 8 runs, 8 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/r/repo/coverage. 84 / 93 LOC (90.32%) covered. /usr/local/rvm/rubies/ruby-2.6.0/bin/ruby -S bundle exec cucumber /home/r/.ruby/gems/cucumber-1.3.17/lib/cucumber/ast/step.rb:80: warning: circular argument reference - name Using the default profile... Feature: Command Line Processing As an author of XML I want to be able to call XCOP as a command line tool Scenario: Help can be printed90m # features/cli.feature:50m 32mWhen I run bin/xcop with "32m1m-h0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m 32mAnd Stdout contains "32m1m--help0m0m32m"90m # features/step_definitions/steps.rb:560m0m Scenario: Version can be printed90m # features/cli.feature:100m 32mWhen I run bin/xcop with "32m1m--version0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m Scenario: Validating correct XML file90m # features/cli.feature:140m 32mGiven I have a "32m1mtest.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <?xml version="1.0"?>0m 32m <hello>Hello, world!</hello>0m 32m0m 32m """0m 32mWhen I run bin/xcop with "32m1mtest.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Stdout contains "32m1mtest.xml looks good0m0m32m"90m # features/step_definitions/steps.rb:560m0m 32mAnd Exit code is zero90m # features/step_definitions/steps.rb:660m0m Scenario: Validating correct XML file with license90m # features/cli.feature:250m 32mGiven I have a "32m1mlicensed.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <?xml version="1.0"?>0m 32m <!--0m 32m This is the license,0m 32m which is very very strict!0m 32m -->0m 32m <hello>Hello, world!</hello>0m 32m0m 32m """0m 32mAnd I have a "32m1mLICENSE0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m This is the license,0m 32m which is very very strict!0m 32m """0m 32mWhen I run bin/xcop with "32m1m--quiet --license LICENSE licensed.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Stdout is empty90m # features/step_definitions/steps.rb:620m0m 32mAnd Exit code is zero90m # features/step_definitions/steps.rb:660m0m Scenario: Validating incorrect XML file90m # features/cli.feature:450m 32mGiven I have a "32m1mabc.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <a><b>something</b>0m 32m </a>0m 32m """0m 32mWhen I run bin/xcop with "32m1mabc.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is not zero90m # features/step_definitions/steps.rb:700m0m Scenario: Validating correct XML file with broken license90m # features/cli.feature:540m 32mGiven I have a "32m1mlicensed.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <?xml version="1.0"?>0m 32m <!--0m 32m This is the wrong license!0m 32m -->0m 32m <hello>Hello, world!</hello>0m 32m0m 32m """0m 32mAnd I have a "32m1mLICENSE0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m This is the right license.0m 32m """0m 32mWhen I run bin/xcop with "32m1m--license LICENSE licensed.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mAnd Stdout contains "32m1mBroken license0m0m32m"90m # features/step_definitions/steps.rb:560m0m 32mAnd Exit code is not zero90m # features/step_definitions/steps.rb:700m0m Scenario: Fixing incorrect XML file90m # features/cli.feature:720m 32mGiven I have a "32m1mbroken.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <a><b>something</b>0m 32m </a>0m 32m """0m 32mWhen I run bin/xcop with "32m1m--fix broken.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m 32mThen I run bin/xcop with "32m1mbroken.xml0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m Feature: Gem Package As a source code writer I want to be able to package the Gem into .gem file Scenario: Gem can be packaged90m # features/gem_package.feature:50m 32mGiven It is Unix90m # features/step_definitions/steps.rb:860m0m 32mGiven I have a "32m1mexecs.rb0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m #!/usr/bin/env ruby0m 32m require 'rubygems'0m 32m spec = Gem::Specification::load('./spec.rb')0m 32m if spec.executables.empty?0m 32m fail 'no executables: ' + File.read('./spec.rb')0m 32m end0m 32m """0m /tmp/test20200805-12606-1gt2tzm/xcop/lib/xcop/version.rb:26: warning: already initialized constant Xcop::VERSION /home/r/repo/lib/xcop/version.rb:26: warning: previous definition of VERSION was here 32mWhen I run bash with:90m # features/step_definitions/steps.rb:800m0m 32m """0m 32m cd xcop0m 32m gem build xcop.gemspec0m 32m gem specification --ruby xcop-*.gem > ../spec.rb0m 32m cd ..0m 32m ruby execs.rb0m 32m """0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m Feature: Rake tasks As a source code writer I want to be able to run Xcop from Rakefile Scenario: Xcop can be used in Rakefile90m # features/rake.feature:50m 32mGiven It is Unix90m # features/step_definitions/steps.rb:860m0m 32mAnd I have a "32m1mRakefile0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m require 'xcop/rake_task'0m 32m Xcop::RakeTask.new(:xcop) do |task|0m 32m task.includes = ['good.xml']0m 32m end0m 32m """0m 32mAnd I have a "32m1mgood.xml0m0m32m" file with content:90m # features/step_definitions/steps.rb:430m0m 32m """0m 32m <?xml version="1.0"?>0m 32m <hello>Hello, world!</hello>0m 32m0m 32m """0m 32mWhen I run bash with "32m1mrake xcop0m0m32m"90m # features/step_definitions/steps.rb:740m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:660m0m 9 scenarios (32m9 passed0m) 36 steps (32m36 passed0m) 0m3.854s Coverage report generated for Cucumber Features, Unit Tests to /home/r/repo/coverage. 84 / 93 LOC (90.32%) covered. Running RuboCop... .rubocop.yml: Style/MultilineMethodCallIndentation has the wrong namespace - should be Layout Inspecting 11 files 32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m 11 files inspected, 32mno offenses0m detected grep -q -r '2017-2020' --include '*.rb' --include '*.txt' --include 'Rakefile' . + pdd -f /dev/null Found 7 lines in /home/r/repo/.pdd My version is 0.20.5 Ruby version is 2.6.0 at x86_64-linux Reading . Excluding target/**/* Excluding coverage/**/* 31 file(s) found, 301 excluded Reading .simplecov... Reading Rakefile... Reading Gemfile... Reading .0pdd.yml... Reading .github/ISSUE_TEMPLATE.md... Reading .github/PULL_REQUEST_TEMPLATE.md... Reading cucumber.yml... Reading .travis.yml... Reading LICENSE.txt... Reading test/test_rake_task.rb... Reading test/test__helper.rb... Reading test/test_xcop.rb... Reading .pdd... Reading .rultor.yml... Reading lib/xcop.rb... Reading lib/xcop/rake_task.rb... Reading lib/xcop/version.rb... Reading README.md... Reading appveyor.yml... Reading .rubocop.yml... Reading .gitignore... Reading Gemfile.lock... Reading features/rake.feature... Reading features/cli.feature... Reading features/support/env.rb... Reading features/gem_package.feature... Reading features/step_definitions/steps.rb... Reading bin/xcop... Reading logo.svg... Reading xcop.gemspec... Reading .gitattributes... + mv /home/r/repo . ++ whoami + chown -R root repo + '[' -n '' ']' ++ whoami + sudo chown -R rultor repo + cd repo + git push origin master To git@github.com:yegor256/xcop.git 3baf332..a92aea0 master -> master container 2ed1cd045ec2c60bf0bc8b2e4dc948e3e271cf07978d466513f1b1f867e63dcc is dead Wed Aug 5 09:27:32 CEST 2020