Mock Version: 6.5 Mock Version: 6.5 Mock Version: 6.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-process_executer.spec'], chrootPath='/var/lib/mock/f45-build-35198-693/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '0a088da30d2540ab826c97c139577e12', '-D', '/var/lib/mock/f45-build-35198-693/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-process_executer.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1788134400 Wrote: /builddir/build/SRPMS/rubygem-process_executer-4.1.0-1.fc45.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-process_executer.spec'], chrootPath='/var/lib/mock/f45-build-35198-693/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '67c5a242c540411fb6c7ba08e4ed3d75', '-D', '/var/lib/mock/f45-build-35198-693/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ljk3anq5:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-process_executer.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1788134400 Executing(mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.wPq16R Creating(rpmbuild.env): /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/rpmbuild.env RPM_SOURCE_DIR="/builddir/build/SOURCES" RPM_BUILD_DIR="/builddir/build/BUILD/rubygem-process_executer-4.1.0-build" RPM_OPT_FLAGS="-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" RPM_LD_FLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 " RPM_ARCH="noarch" RPM_OS="linux" RPM_BUILD_NCPUS="8" RPM_SPECPARTS_DIR="/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/SPECPARTS" export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_SPECPARTS_DIR RPM_LD_FLAGS RPM_DOC_DIR="/usr/share/doc" export RPM_DOC_DIR RPM_PACKAGE_NAME="rubygem-process_executer" RPM_PACKAGE_VERSION="4.1.0" RPM_PACKAGE_RELEASE="1.fc45" export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE LANG=C.UTF-8 export LANG unset CDPATH DISPLAY ||: unset DEBUGINFOD_URLS ||: unset RPM_CONFIG_DIR ||: RPM_BUILD_ROOT="/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT" export RPM_BUILD_ROOT PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/lib/pkgconfig:/usr/share/pkgconfig" export PKG_CONFIG_PATH CONFIG_SITE=${CONFIG_SITE:-NONE} export CONFIG_SITE Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.O71Cim + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + rm -rf process_executer-4.1.0 + /usr/bin/rpmuncompress -x /builddir/build/SOURCES/process_executer-4.1.0.gem Unpacked gem: '/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0' + STATUS=0 + '[' 0 -ne 0 ']' + cd process_executer-4.1.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + read -d '' gemspec_add_dep_script + : + echo $'gemspec_file = \'/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0.gemspec\' \n \n name = \'logger\' \n requirements = nil \n \n type = :runtime \n \n spec = Gem::Specification.load(gemspec_file) \n abort("#{gemspec_file} is not accessible.") unless spec \n \n dep = spec.dependencies.detect { |d| d.type == type && d.name == name } \n if dep \n dep.requirement.concat requirements \n else \n spec.public_send "add_#{type}_dependency", name, requirements \n end \n File.write gemspec_file, spec.to_ruby' + ruby + unset -v gemspec_add_dep_script + tar zxf /builddir/build/SOURCES/process_executer-4.1.0.tar.gz process_executer-4.1.0/spec --strip-components 1 + sed -i -e 's/require '\''simplecov'\''//' -e 's/require '\''simplecov-lcov'\''//' -e 's/require '\''simplecov-rspec'\''//' -e 's/SimpleCov::RSpec.start.*//' spec/spec_helper.rb + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.8gQg9E + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd process_executer-4.1.0 + gem build ../process_executer-4.1.0.gemspec WARNING: expected RubyGems version 4.0.20, was 4.0.16 WARNING: You have specified the uri: https://github.com/main-branch/process_executer for all of the following keys: homepage_uri source_code_uri Only the first one will be shown on rubygems.org WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: process_executer Version: 4.1.0 File: process_executer-4.1.0.gem + mkdir -p ./usr/share/gems + CONFIGURE_ARGS='--with-cflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer'\'' --with-cxxflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer'\'' --with-ldflags='\''-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 '\'' ' + gem install -V --local --build-root . --force --document=ri,rdoc process_executer-4.1.0.gem WARNING: You build with buildroot. Build root: /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0 Bin dir: /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/bin Gem home: /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems Plugins dir: /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/plugins /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.commitlintrc.yml /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.editorconfig /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.husky/commit-msg /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.markdownlint.yml /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.release-please-manifest.json /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.rspec /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.rubocop.yml /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.vscode/extensions.json /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/.yardopts /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/CHANGELOG.md /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/Gemfile /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/LICENSE.txt /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/README.md /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/Rakefile /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/commands.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/commands/run.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/commands/run_with_capture.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/commands/spawn_with_timeout.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/child_redirection.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/close.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/destination_base.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/file_descriptor.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/file_path.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/file_path_mode.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/file_path_mode_perms.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/io.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/monitored_pipe.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/stderr.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/stdout.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/tee.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/destinations/writer.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/errors.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/monitored_pipe.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/base.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/option_definition.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/run_options.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/run_with_capture_options.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/spawn_options.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/options/spawn_with_timeout_options.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/result.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/result_with_capture.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/lib/process_executer/version.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/package.json /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/process_executer.gemspec /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/process_spawn_test/.rspec /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/process_spawn_test/README.md /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/process_spawn_test/spec/spec_helper.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/process_spawn_test/spec/test_spec.rb /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/usr/share/gems/gems/process_executer-4.1.0/release-please-config.json Successfully installed process_executer-4.1.0 Parsing documentation for process_executer-4.1.0 Parsing sources... 3% [ 1/31] lib/process_executer.rb 6% [ 2/31] lib/process_executer/commands.rb 9% [ 3/31] lib/process_executer/commands/run.rb 12% [ 4/31] lib/process_executer/commands/run_with_capture.rb 16% [ 5/31] lib/process_executer/commands/spawn_with_timeout.rb 19% [ 6/31] lib/process_executer/destinations.rb 22% [ 7/31] lib/process_executer/destinations/child_redirection.rb 25% [ 8/31] lib/process_executer/destinations/close.rb 29% [ 9/31] lib/process_executer/destinations/destination_base.rb 32% [10/31] lib/process_executer/destinations/file_descriptor.rb 35% [11/31] lib/process_executer/destinations/file_path.rb 38% [12/31] lib/process_executer/destinations/file_path_mode.rb 41% [13/31] lib/process_executer/destinations/file_path_mode_perms.rb 45% [14/31] lib/process_executer/destinations/io.rb 48% [15/31] lib/process_executer/destinations/monitored_pipe.rb 51% [16/31] lib/process_executer/destinations/stderr.rb 54% [17/31] lib/process_executer/destinations/stdout.rb 58% [18/31] lib/process_executer/destinations/tee.rb 61% [19/31] lib/process_executer/destinations/writer.rb 64% [20/31] lib/process_executer/errors.rb 67% [21/31] lib/process_executer/monitored_pipe.rb 70% [22/31] lib/process_executer/options.rb 74% [23/31] lib/process_executer/options/base.rb 77% [24/31] lib/process_executer/options/option_definition.rb 80% [25/31] lib/process_executer/options/run_options.rb 83% [26/31] lib/process_executer/options/run_with_capture_options.rb 87% [27/31] lib/process_executer/options/spawn_options.rb 90% [28/31] lib/process_executer/options/spawn_with_timeout_options.rb 93% [29/31] lib/process_executer/result.rb 96% [30/31] lib/process_executer/result_with_capture.rb 100% [31/31] lib/process_executer/version.rb Installing ri documentation for process_executer-4.1.0 Installing aliki documentation for process_executer-4.1.0 Done installing documentation for process_executer after 3 seconds 1 gem installed + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.AwVRRU + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + '[' /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + mkdir /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd process_executer-4.1.0 + mkdir -p /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/gems + cp -a ./usr/share/gems/build_info ./usr/share/gems/cache ./usr/share/gems/doc ./usr/share/gems/extensions ./usr/share/gems/gems ./usr/share/gems/plugins ./usr/share/gems/specifications /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/gems/ + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + COMPRESS='gzip -9 -n' + COMPRESS_EXT=.gz + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j8 /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT Scanned 67 directories and 323 files, processed 38 inodes, 0 modified (0 replaced + 0 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr Scanned 66 directories and 323 files, considered 323 files, read 62 files, linked 0 files, 0 errors sum of sizes of linked files: 0 bytes Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.6I7V9R + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd process_executer-4.1.0 + rspec spec ProcessExecuter::Destinations::DestinationBase .handles? raises NotImplementedError ProcessExecuter::MonitoredPipe when used to wrap an output destination for Process.spawn when the output destination is nil should raise an ProcessExecuter::ArgumentError when the output destination is an fd should write output to the fd when the output destination is a Symbol when the output destination is :out should write output to STDERR in the child to STDOUT in the parent when the output destination is :err should write the child's STDOUT to the parent's STDERR when the output destination is a File opened for writing should write output to the file and not close the file when the output destination is a filepath when the filepath does not exist should create the file with 0644 perms and write output to the file when the filepath exists should overrite the file with the output and not change the file perms when the output destination is an array in the form [filepath] should raise an ProcessExecuter::ArgumentError when the output destination is an array in the form [filepath, mode] when mode is "r" the exception methods should note that an IOError was raised when mode is "w" when the filepath does not exist should create the file with perms 0o644 and write output to the file when the filepath exists should overrite the file with the output and not change the file perms when mode is "a" when the filepath does not exist should create the file with 0o644 perms and write output to the file when the filepath exists should append the output to the file and not change the file perms when the output destination is an array in the form [filepath, mode, perm] when mode is "w" when the filepath does not exist should create the file with the given perms and write output to the file when the filepath exists should overrite the file with the output and not chnage the file perms when mode is "a" when the filepath does not exist should create the file with the given perms and write output to the file when the filepath exists should append the output to the file and not change the file perms when the output destination is an array in the form [:child, fd] should raise a ProcessExecuter::ArgumentError when the output destination is :close should raise a ProcessExecuter::ArgumentError when the output destination is an object that responds to #write but not #fileno should write output to the object when the output destination is another monitored pipe should write output to the other monitored pipe when the output destination is an array of objects containing one or more of: fd, File opened for writing, filepath, [filepath, mode], [filepath, mode, perms], and objects responding to #write but not #fileno should write output to all the objects #initialize should create a new monitored pipe should start a thread to monitor the pipe should set the state to :open when #initialize fails after the destination is created when IO.pipe raises Errno::EMFILE should close the destination and re-raise the Errno::EMFILE when the destination is not compatible with MonitoredPipe should close the destination and raise a ProcessExecuter::ArgumentError when creating the wake pipe raises Errno::EMFILE should close the destination and both data pipe ends and re-raise the Errno::EMFILE when starting the monitoring thread raises a ThreadError should close the destination and all four pipe ends and re-raise the ThreadError the monitoring thread when the pipe is idle should block waiting for pipe events instead of polling #close should eventually kill the thread should set the state to closed should close both ends of the internal wake pipe should be ok to call two or more times when closing the pipe raises an exception in the monitoring thread should still set the state to :closed and save the exception to #exception when the monitor loop raises an exception that did not come from the destination should not raise the exception from #close but save it to #exception when a file descriptor outside this pipe holds the write end open should return within the close timeout and record that output was truncated when data arrives while #close is waiting on a held-open write fd should write the late-arriving data to the destination and not truncate when called with timeout: nil should drain the pipe without a deadline and close normally when called with timeout: 0 and the pipe has nothing left to drain should close normally without recording truncation when an async exception is delivered while joining the monitoring thread should re-raise the exception from #close and not save it to #exception #to_io should return the pipe writer #fileno should return the file descriptor for the pipe writer #write should write to the destination with a file descriptor to an open file should write to the file descriptor with a file descriptor to an open file should write to the file descriptor with :out should write to STDOUT with 1 should write to STDOUT with :err should write to STDERR with 2 should write to STDERR when there is time between the writes to the pipe should write to the writer when there is a delay before the first write to the pipe should write to the writer when there is a delay after the last write to the pipe should write to the writer with a large amount of data should write all the data to the writer when the destination raises an error while the pipe buffer is full should not deadlock the writing thread and the monitoring thread when a writer raises an exception should eventually kill the monitoring thread should eventually set the state to :closed should eventually save the exception raised to #exception should close both ends of the internal wake pipe should raise an exception if #write is called after the pipe is closed when a writer raises an exception that is not a StandardError while data is still buffered in the pipe should return from #close with the exception saved to #exception when no data remains buffered in the pipe should not raise the exception from #close but save it to #exception after the pipe is closed should raise an exception encoding of output should write data with BINARY encoding ProcessExecuter::Options::Base #initialize when no options are given should have no options when a single unknown option is given should raise a ProcessExecuter::ArgumentError when multiple unknown options are given should raise a ProcessExecuter::ArgumentError #allowed_options should not define any options #to_s should include the class name should include the memory address should include the options #inspect should list the options to_h should return a copy of the hash of the options #with when given no options to update should return the same instance when given one option to update should return a new instance with the new options should not change the original instance when given new options which are the same as the original options should return a new instance with the new options when given multiple options hashes should return a new instance with the new options #merge! should merge the given hashes into the options object in place should return self when the same option is given in multiple hashes should keep the value from the last hash given when an unknown option is given should raise a ProcessExecuter::ArgumentError should leave the options unchanged when an invalid value is given for a validated option should raise a ProcessExecuter::ArgumentError should leave the options unchanged when a valid value is given for a validated option should update the option and its accessor #each_with_object should iterate over each option with the given object with a class derived from ProcessExecuter::Options::Base with one defined option "an_option" #initialize option accessors should have defined accessors for the defined option #an_option should return the default value when the defined option is given #an_option should have the given value #allowed_options should return the defined option #to_s should include the class name should include the memory address should include the options #inspect should list the options to_h should return a copy of the hash of the options when an_option has a validator when the option is set to a valid value should not raise an error when the option is set to an invalid value should raise an ProcessExecuter::ArgumentError with a class which is derived from another class which derives from ProcessExecuter::Options #initialize option accessors should have defined accessors for option1 should have defined accessors for option2 #option1 should return the default value of option1 #option2 should return the default value of option2 validators when given valid option values should not raise an error when given an invalid value for option1 should raise an ProcessExecuter::ArgumentError when given an invalid value for option2 should raise an ProcessExecuter::ArgumentError when given an invalid value for both option1 and option2 should raise an ProcessExecuter::ArgumentError ProcessExecuter::Options::RunOptions #initialize when no options are given should set all options to their default values when an unknown option is given should raise a ProcessExecuter::ArgumentError the option { logger: } behaves like a logger option when given { logger: nil } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for nil when given { logger: #, @formatter=nil, @logdev=nil, @level_override={}> } behaves like a valid option value was given should set options.logger to #, @formatter=nil, @logdev=nil, @level_override={}> when given { logger: "non_logger_object" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "non_logger_object" the option { raise_errors: } behaves like a Boolean option when given { raise_errors: true } behaves like a valid option value was given should set options.raise_errors to true when given { raise_errors: false } behaves like a valid option value was given should set options.raise_errors to false when given { raise_errors: "non_boolean_value" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "non_boolean_value" #spawn_options behaves like it returns only Process.spawn options is expected to eq {unsetenv_others: true, pgroup: 900, new_pgroup: true, rlimit_resourcename: [1, 2], umask: 420, close...IO:> => "/dev/null", [1, 2] => "/dev/null", [#>, #>] => "/dev/null"} ProcessExecuter::Options::RunWithCaptureOptions #initialize when no options are given should set all options to their default values when an unknown option is given should raise a ProcessExecuter::ArgumentError the option { merge_output: } behaves like a Boolean option when given { merge_output: true } behaves like a valid option value was given should set options.merge_output to true when given { merge_output: false } behaves like a valid option value was given should set options.merge_output to false when given { merge_output: "non_boolean_value" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "non_boolean_value" the option { encoding: } behaves like an encoding option when given { encoding: nil } behaves like a valid option value was given should set options.encoding to nil when given { encoding: } when given { encoding: # } behaves like a valid option value was given should set options.encoding to # when given { encoding: } when given { encoding: "UTF-8" } behaves like a valid option value was given should set options.encoding to "UTF-8" when given { encoding: "invalid_encoding_name" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "invalid_encoding_name" when given { encoding: } when given { encoding: :binary } behaves like a valid option value was given should set options.encoding to :binary when given { encoding: :default_external } behaves like a valid option value was given should set options.encoding to :default_external when given { encoding: :invalid_encoding_symbol } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for :invalid_encoding_symbol when given { encoding: } when given { encoding: 1 } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for 1 when the encoding option is not given should set options.encoding to the default value # the option { stdout_encoding: } behaves like an encoding option when given { stdout_encoding: nil } behaves like a valid option value was given should set options.stdout_encoding to nil when given { stdout_encoding: } when given { stdout_encoding: # } behaves like a valid option value was given should set options.stdout_encoding to # when given { stdout_encoding: } when given { stdout_encoding: "UTF-8" } behaves like a valid option value was given should set options.stdout_encoding to "UTF-8" when given { stdout_encoding: "invalid_encoding_name" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "invalid_encoding_name" when given { stdout_encoding: } when given { stdout_encoding: :binary } behaves like a valid option value was given should set options.stdout_encoding to :binary when given { stdout_encoding: :default_external } behaves like a valid option value was given should set options.stdout_encoding to :default_external when given { stdout_encoding: :invalid_encoding_symbol } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for :invalid_encoding_symbol when given { stdout_encoding: } when given { stdout_encoding: 1 } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for 1 when the stdout_encoding option is not given should set options.stdout_encoding to the default value nil the option { stderr_encoding: } behaves like an encoding option when given { stderr_encoding: nil } behaves like a valid option value was given should set options.stderr_encoding to nil when given { stderr_encoding: } when given { stderr_encoding: # } behaves like a valid option value was given should set options.stderr_encoding to # when given { stderr_encoding: } when given { stderr_encoding: "UTF-8" } behaves like a valid option value was given should set options.stderr_encoding to "UTF-8" when given { stderr_encoding: "invalid_encoding_name" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "invalid_encoding_name" when given { stderr_encoding: } when given { stderr_encoding: :binary } behaves like a valid option value was given should set options.stderr_encoding to :binary when given { stderr_encoding: :default_external } behaves like a valid option value was given should set options.stderr_encoding to :default_external when given { stderr_encoding: :invalid_encoding_symbol } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for :invalid_encoding_symbol when given { stderr_encoding: } when given { stderr_encoding: 1 } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for 1 when the stderr_encoding option is not given should set options.stderr_encoding to the default value nil the merge_output: option when merge_output is true when a stderr redirection is given should raise a ProcessExecuter::ArgumentError when stdout and stderr encodings are different should raise a ProcessExecuter::ArgumentError when stdout and stderr encodings are equivalent but given in different forms should not raise an error a combined [:out, :err] redirection when stdout and stderr encodings are different should raise a ProcessExecuter::ArgumentError when stdout and stderr encodings are equivalent but given in different forms should not raise an error when an unknown encoding name is given should report only the unknown encoding error #spawn_options behaves like it returns only Process.spawn options is expected to eq {unsetenv_others: true, pgroup: 900, new_pgroup: true, rlimit_resourcename: [1, 2], umask: 420, close...IO:> => "/dev/null", [1, 2] => "/dev/null", [#>, #>] => "/dev/null"} #effective_stdout_encoding when neither stdout_encoding or encoding is given should return the default encoding UTF-8 when only stdout_encoding is given should return the encoding given for stdout_encoding when only encoding is given should return the encoding given for encoding when both encoding and stdout_encoding are given and are different should return what the user gave for stdout_encoding when stdout_encoding is given as a String should return the canonical Encoding object when stdout_encoding is given as :binary should return Encoding::BINARY when stdout_encoding is given as :default_external should return the default external encoding #effective_stderr_encoding when neither stderr_encoding or encoding is given should return the default encoding UTF-8 when only stderr_encoding is given should return the encoding given for stderr_encoding when only encoding is given should return the encoding given for encoding when both encoding and stderr_encoding are given and are different should return what the user gave for stderr_encoding when stderr_encoding is given as a String should return the canonical Encoding object when stderr_encoding is given as :binary should return Encoding::BINARY when stderr_encoding is given as :default_external should return the default external encoding ProcessExecuter::Options::SpawnOptions #initialize when no options are given should set all options to their default values when an unknown option is given should raise a ProcessExecuter::ArgumentError redirection options with an Integer source should allow the option should include the option in #spawn_options with an IO source should allow the option should include the option in #spawn_options with an array of Integers and IOs should allow the option should include the option in #spawn_options with a Symbol source allow the option should include the option in #spawn_options #spawn_options when all options are set to :not_set (the default) is expected to eq {} when the :in option is set is expected to eq {in: #>} when the :out option is set is expected to eq {out: #>} when the :err option is set is expected to eq {err: #>} when the :out and :err options are set is expected to eq {err: #>, out: #>} ProcessExecuter::Options::SpawnWithTimeoutOptions #initialize when no options are given should set all options to their default values when an unknown option is given should raise a ProcessExecuter::ArgumentError the option { timeout_after: } behaves like a timeout option when given { timeout_after: nil } behaves like a valid option value was given should set options.timeout_after to nil when given { timeout_after: 10 } behaves like a valid option value was given should set options.timeout_after to 10 when given { timeout_after: 1.5 } behaves like a valid option value was given should set options.timeout_after to 1.5 when given { timeout_after: 0 } behaves like a valid option value was given should set options.timeout_after to 0 when given { timeout_after: -1 } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for -1 when given { timeout_after: "non_numeric_object" } behaves like an invalid option value was given should raise a ProcessExecuter::ArgumentError for "non_numeric_object" #spawn_options behaves like it returns only Process.spawn options is expected to eq {unsetenv_others: true, pgroup: 900, new_pgroup: true, rlimit_resourcename: [1, 2], umask: 420, close...IO:> => "/dev/null", [1, 2] => "/dev/null", [#>, #>] => "/dev/null"} ProcessExecuter .run with command given as a single string should run successfully and return the expected result with a command that does not redirect stdout should pass stdout to the parent process should pass stderr to the parent process with a command that returns exitstatus 0 is expected to be a kind of ProcessExecuter::Result is expected to have attributes {exitstatus: 0, signaled?: false, success?: true, timed_out?: false} is expected to capture the command output with a command that returns exitstatus 1 is expected to raise an command error the error raised is expected to be a kind of ProcessExecuter::FailedError is expected to have the expected error message the result object contained in the error is expected to be a kind of ProcessExecuter::Result is expected to have attributes {exitstatus: 1, success?: false} with a command that times out leaving a descendant holding stdout open should return promptly after the timeout and kill the descendant with multiple wrapped pipes held open past the close deadline should close all pipes within one shared deadline, not one deadline per pipe when a pipe cannot be fully drained before the close deadline should raise a ProcessIOError reporting the truncated output with a command that times out is expected to raise an error the error raised is expected to be a kind of ProcessExecuter::TimeoutError is expected to have the expected error message the result object contained in the error is expected to be a kind of ProcessExecuter::Result is expected to have attributes {success?: nil, timed_out?: true} with a command that times out after its subprocess was already reaped is expected to raise ProcessExecuter::TimeoutError with a timed out result with a command that exits due to an unhandled signal is expected to raise an error the error raised is expected to be a kind of ProcessExecuter::SignaledError is expected to have the expected error message the result object contained in the error is expected to be a kind of ProcessExecuter::Result is expected to have attributes {signaled?: true, termsig: 9} with raise_errors set to false a command that returns exitstatus 1 is not expected to raise an error is expected to return an a Result a command that times out is not expected to raise an error is expected to return a result a command that exits due to an unhandled signal is not expected to raise an error is expected to return a result with environment variables when adding environment variables is expected to add those variables in the environment when removing environment variables is expected to remove those variables from the environment when resetting the environment is expected to remove all existing variables from the environment and add the given variables running the command in a different directory is expected to run the command in the specified directory buffers are given for stdout and stderr is expected to capture stdout and stderr to the given buffers when a file is given to capture stdout and stderr is expected to capture stdout to the file and stderr to the buffer when a pipe exception occurs is expected to raise ProcessExecuter::ProcessIOError when a pipe destination raises an exception that is not a StandardError is expected to raise ProcessExecuter::ProcessIOError with the destination error as its cause when creating a monitored pipe for a redirection option fails is expected to raise the error from the destination that could not be created is expected to close pipes already created for other redirection options when a pipe destination exception is recorded while unwinding from an unrelated error is expected to raise the original error, not ProcessIOError when closing a monitored pipe fails when no other error is being raised is expected to close the remaining pipes and raise the close error when another error is being raised is expected to close the remaining pipes and raise the original error, not the close error when the same options object is used for a second run is expected to leave the caller's destination in the options object after the run is expected to run both times and capture the output of both runs when the caller passes their own MonitoredPipe as a destination is expected not to close the caller's pipe is expected to allow the pipe to be reused for a second run the options returned by result#options is expected to hold the destination the user configured, not an internal pipe when given a logger a command that returns exitstatus 0 when log level is WARN is expected not to log anything when log level is INFO is expected to log the command and its status when log level is DEBUG is expected to log the command and its status AND the command stdout and stderr a command that returns exitstatus 1 when log level is WARN is expected not to log anything when log level is INFO is expected to log the command and its status a command that times out when log level is WARN is expected not to log anything when log level is INFO is expected to log the command and its status when given multiple destinations for stdout is expected to write stdout output to all destinations capturing stdout and stderr when given { out: 'stdout.txt' } should capture stdout to the stdout.txt when given { 1: 'stdout.txt' } should capture stdout to the stdout.txt when given { STDOUT => 'stdout.txt' } should capture stdout to the stdout.txt when given { err: 'stderr.txt' } should capture stderr to the stderr.txt when given { 2 => 'stderr.txt' } should capture stderr to the stderr.txt when given { STDERR => 'stderr.txt' } should capture stderr to the stderr.txt when given { out: 'stdout.txt', err: 'stderr.txt' } should capture stdout to the stdout.txt should capture stderr to the stderr.txt when given { [1, 2] => 'output.txt' } should capture both stdout and stderr to output.txt when the destination is [:child, fd] should capture the redirected output when the out: destination is :close when nothing is output to stdout should not raise an error when something is output to stdout should raise a ProcessExecuter::FailedError Raises a SpawnError if Process.spawn raises an error with an invalid command should raise a ProcessExecuter::SpawnError when the chdir option is a path to a non-existant directory when run with MRI, non-Windows is expected to raise an error encoding when stdout containing binary content is redirected to a file should write the binary content to the file ProcessExecuter .run_with_capture options with no options should run the command and return a result with the captured output with an options_hash should run the command and return a result with the captured output with an invalid option raises a ProcessExecuter::ArgumentError with an options object when the options object is a ProcessExecuter::Options::RunWithCaptureOptions should run the command and return a result with the captured output when the options object is some other kind of object raises a ProcessExecuter::SpawnError when the user gives an invalid merge_output value raises a ProcessExecuter::ArgumentError when the user gives a stdout or stderr redirection when the user gives a stdout redirection should send output to the given stdout redirection AND capture it when that stdout redirection is a :tee should send output to the given stdout redirection AND capture it when the user gives a stdout redirection and merge_output: true should capture the merged stdout and stderr to the given redirection and capture it when that stderr redirection is a :tee should send output to the given stderr redirection AND capture it when the user gives a stderr redirection should send output to the given stdout redirection AND capture it when the user gives a stderr redirection and merge_output: true raises a ProcessExecuter::ArgumentError when the user gives a combined [:out, :err] redirection should capture both streams interleaved into stdout and leave stderr empty should send both streams to the given redirection when that combined redirection is a :tee should send both streams to each destination in the tee AND capture them into stdout when different encodings are given for stdout and stderr raises a ProcessExecuter::ArgumentError when the same options object is used for a second run is expected to run both times and capture the output of each run is expected to leave the caller's destination in the options object after the run when the caller passes their own MonitoredPipe as a destination is expected not to close the caller's pipe is expected to allow the pipe to be reused for a second run the options returned by result#options is expected to hold the destination the user configured, not an internal pipe when given a command that runs successfully and sends output to stdout and stderr should run the command and return a result with the captured output encoding when given an invalid encoding when the option { encoding: INVALID } is given should raise a ProcessExecuter::ArgumentError when the option { stdout_encoding: INVALID } is given should raise a ProcessExecuter::ArgumentError when the option { stderr_encoding: INVALID } is given should raise a ProcessExecuter::ArgumentError for stdout when neither the option { encoding: } nor { stdout_encoding: is given should return output tagged as UTF-8 encoding when the option { encoding: "ASCII-8BIT" } is given should return the output in ASCII-8BIT encoding when the option { encoding: "UTF-8" } is given when output is valid UTF-8 should return the output tagged as UTF-8 encoding should return the content should return the output with valid_encoding? true when output is NOT valid UTF-8 should return the output tagged as UTF-8 encoding should return the content should return the output with valid_encoding? true when the option { stdout_encoding: "ASCII-8BIT" } is given should return output tagged with ASCII-8BIT encoding when the options { encoding: "UTF-8", stdout_encoding: "ASCII-8BIT" } are given should use stdout_encoding and ignore encoding for stderr when neither the option { encoding: } nor { stderr_encoding: is given should return output tagged as UTF-8 encoding when the option { encoding: "ASCII-8BIT" } is given should return the output in ASCII-8BIT encoding when the option { encoding: "UTF-8" } is given when output is valid UTF-8 should return the output tagged as UTF-8 encoding should return the content should return the output with valid_encoding? true when output is NOT valid UTF-8 should return the output tagged as UTF-8 encoding should return the content should return the output with valid_encoding? true when the option { stderr_encoding: "ASCII-8BIT" } is given should return output tagged with ASCII-8BIT encoding when the options { encoding: "UTF-8", stderr_encoding: "ASCII-8BIT" } are given should use stderr_encoding and ignore encoding when a logger is given should run the command and log the output when merge_output is false should run the command and return a result with output for stdout and stderr captured separately when merge_output is true should run the command and return a result with output for stdout and stderr captured in stdout ProcessExecuter .spawn_with_timeout when both a options object and an options_hash are given should raise a ProcessExecuter::ArgumentError when an invalid command is given should raise an ProcessExecuter::SpawnError with the cause set when :timeout_after is specified when :timeout_after is a String should raise an ProcessExecuter::ArgumentError when :timeout_after is a Complex should raise an ProcessExecuter::ArgumentError when :timeout_after is nil should NOT raise an error when :timeout_after is an Integer should NOT raise an error when :timeout_after is a Float should NOT raise an error for a command that does not time out is expected to be a kind of ProcessExecuter::Result is expected to have attributes {exitstatus: 1, timed_out?: false} process group spawn options should spawn the command in its own process group when timeout_after is set should not set a process group when timeout_after is not set should not set a process group when timeout_after is 0 (no timeout) should not override a pgroup option given by the caller should not override a new_pgroup option given by the caller killing a timed out subprocess should kill the process group when the subprocess is a new process group leader should fall back to killing the direct child when the group kill fails should kill only the direct child when the subprocess joined an existing process group when the timeout fires after the subprocess was already reaped should not raise Errno::ESRCH when the kill finds the pid already gone should return a timed out result with a nil status when the follow-up wait finds no child when the wait for the subprocess is abandoned by an exception should kill and reap a subprocess that was isolated into its own process group should leave the subprocess alone when the caller supplied its process group should let the original exception propagate when the cleanup itself fails for a command that times out leaving a descendant process when the caller sets pgroup should honor the caller pgroup and kill only the direct child for a command that times out leaving a descendant process should kill the descendant process too for a command that times out is expected to be a kind of ProcessExecuter::Result should have killed the process Finished in 15.62 seconds (files took 0.56673 seconds to load) 339 examples, 0 failures + RPM_EC=0 ++ jobs -p + exit 0 Processing files: rubygem-process_executer-4.1.0-1.fc45.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.CKYKGl + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + cd process_executer-4.1.0 + DOCDIR=/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/doc/rubygem-process_executer + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/doc/rubygem-process_executer + cp -pr /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/README.md /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/doc/rubygem-process_executer + cp -pr /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/CHANGELOG.md /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/doc/rubygem-process_executer + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.IZRAGi + umask 022 + cd /builddir/build/BUILD/rubygem-process_executer-4.1.0-build + cd process_executer-4.1.0 + LICENSEDIR=/builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/licenses/rubygem-process_executer + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/licenses/rubygem-process_executer + cp -pr /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/process_executer-4.1.0/LICENSE.txt /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT/usr/share/licenses/rubygem-process_executer + RPM_EC=0 ++ jobs -p + exit 0 Provides: rubygem(process_executer) = 4.1.0 rubygem-process_executer = 4.1.0-1.fc45 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: (rubygem(track_open_instances) >= 0.1 with rubygem(track_open_instances) < 1) ruby(rubygems) rubygem(logger) Processing files: rubygem-process_executer-doc-4.1.0-1.fc45.noarch Provides: rubygem-process_executer-doc = 4.1.0-1.fc45 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/rubygem-process_executer-4.1.0-build/BUILDROOT Wrote: /builddir/build/RPMS/rubygem-process_executer-4.1.0-1.fc45.noarch.rpm Wrote: /builddir/build/RPMS/rubygem-process_executer-doc-4.1.0-1.fc45.noarch.rpm Child return code was: 0