Mock Version: 6.3 Mock Version: 6.3 Mock Version: 6.3 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/epel10.0-build-60920445-6585865/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=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.dv6np2_k:/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.dv6np2_k:/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', '3d2cf58681134ae9aca9dba3e8c8080c', '-D', '/var/lib/mock/epel10.0-build-60920445-6585865/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.dv6np2_k:/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=1751673600 Wrote: /builddir/build/SRPMS/rubygem-process_executer-4.0.0-2.el10_0.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/epel10.0-build-60920445-6585865/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=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.dv6np2_k:/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.dv6np2_k:/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', '4c9e5a053fd14ccab2ba364a80277404', '-D', '/var/lib/mock/epel10.0-build-60920445-6585865/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.dv6np2_k:/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=1751673600 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.rwJwT6 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf process_executer-4.0.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/process_executer-4.0.0.gem Unpacked gem: '/builddir/build/BUILD/process_executer-4.0.0' + STATUS=0 + '[' 0 -ne 0 ']' + cd process_executer-4.0.0 + rm -rf /builddir/build/BUILD/process_executer-4.0.0-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/process_executer-4.0.0-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + tar zxf /builddir/build/SOURCES/process_executer-4.0.0.tar.gz process_executer-4.0.0/spec --strip-components 1 + sed -i '/# SimpleCov configuration/,/^end/s/.*//' spec/spec_helper.rb + sed -i '/^SimpleCov::RSpec.start/,/^end/s/.*//' spec/spec_helper.rb + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.OoCJE2 + umask 022 + cd /builddir/build/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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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.0.0 + gem build ../process_executer-4.0.0.gemspec WARNING: expected RubyGems version 3.5.22, was 3.6.7 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.0.0 File: process_executer-4.0.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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection '\'' --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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection '\'' --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-annobin-cc1 -Wl,--build-id=sha1 '\'' ' + gem install -V --local --build-root . --force --document=ri,rdoc process_executer-4.0.0.gem WARNING: You build with buildroot. Build root: /builddir/build/BUILD/process_executer-4.0.0 Bin dir: /builddir/build/BUILD/process_executer-4.0.0/usr/bin Gem home: /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems Plugins dir: /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/plugins /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.commitlintrc.yml /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.husky/commit-msg /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.markdownlint.yml /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.release-please-manifest.json /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.rspec /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.rubocop.yml /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/.yardopts /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/CHANGELOG.md /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/Gemfile /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/LICENSE.txt /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/README.md /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/Rakefile /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/commands.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/commands/run.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/commands/run_with_capture.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/commands/spawn_with_timeout.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/child_redirection.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/close.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/destination_base.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/file_descriptor.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/file_path.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/file_path_mode.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/file_path_mode_perms.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/io.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/monitored_pipe.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/stderr.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/stdout.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/tee.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/destinations/writer.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/errors.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/monitored_pipe.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/base.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/option_definition.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/run_options.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/run_with_capture_options.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/spawn_options.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/options/spawn_with_timeout_options.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/result.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/result_with_capture.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/lib/process_executer/version.rb /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/package.json /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/process_executer.gemspec /builddir/build/BUILD/process_executer-4.0.0/usr/share/gems/gems/process_executer-4.0.0/release-please-config.json Successfully installed process_executer-4.0.0 Parsing documentation for process_executer-4.0.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.0.0 Installing darkfish documentation for process_executer-4.0.0 Done installing documentation for process_executer after 0 seconds 1 gem installed + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.qwu3G7 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch ++ dirname /builddir/build/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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.0.0 + mkdir -p /builddir/build/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch/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/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch/usr/share/gems/ + /usr/bin/find-debuginfo -j12 --strict-build-id -m -i --build-id-seed 4.0.0-2.el10_0 --unique-debug-suffix -4.0.0-2.el10_0.noarch --unique-debug-src-base rubygem-process_executer-4.0.0-2.el10_0.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/process_executer-4.0.0 find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j12 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.L3PbZp + umask 022 + cd /builddir/build/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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -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.0.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 #close should eventually kill the thread should set the state to closed should be ok to call two or more times #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 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 raise an exception if #write is called after the pipe is closed 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 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, ...l", #>=>"/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 #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, ...l", #>=>"/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 #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 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, ...l", #>=>"/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 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 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 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 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} for a command that times out is expected to be a kind of ProcessExecuter::Result should have killed the process Finished in 5.37 seconds (files took 0.20112 seconds to load) 264 examples, 0 failures + RPM_EC=0 ++ jobs -p + exit 0 Processing files: rubygem-process_executer-4.0.0-2.el10_0.noarch Provides: rubygem(process_executer) = 4.0.0 rubygem-process_executer = 4.0.0-2.el10_0 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) Processing files: rubygem-process_executer-doc-4.0.0-2.el10_0.noarch Provides: rubygem-process_executer-doc = 4.0.0-2.el10_0 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/BUILDROOT/rubygem-process_executer-4.0.0-2.el10_0.noarch Wrote: /builddir/build/RPMS/rubygem-process_executer-4.0.0-2.el10_0.noarch.rpm Wrote: /builddir/build/RPMS/rubygem-process_executer-doc-4.0.0-2.el10_0.noarch.rpm Child return code was: 0